Files
Nim/tests/async/t20111.nim
Jake Leahy c7493bbdd0 multisync now allows tuples in return type (#21074)
* Add test case

* Use .toStrLit() on param node first

This means that more complex types are fully rendered
2022-12-11 14:44:41 +01:00

20 lines
402 B
Nim

discard """
action: "run"
"""
import asyncdispatch
type
Sync = object
Async = object
SyncRes = (Sync, string)
AsyncRes = (Async, string)
proc foo(val: Sync | Async): Future[(Async, string) | (Sync, string)] {.multisync.} =
return (val, "hello")
let
myAsync = Async()
mySync = Sync()
doAssert typeof(waitFor foo(myAsync)) is AsyncRes
doAssert typeof(foo(mySync)) is SyncRes