diff options
author | flywind <xzsflywind@gmail.com> | 2021-03-03 18:57:34 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-03 11:57:34 +0100 |
commit | ec068a26870e5e00c87b05495622aae554c9a63a (patch) | |
tree | e7170fb20e16599cd296503534d3dfa4c3e5ba29 | |
parent | e417bd62f7937c09a1508db25b7cdb3a7f153632 (diff) | |
download | Nim-ec068a26870e5e00c87b05495622aae554c9a63a.tar.gz |
fix #17177 (#17243)
* remove unnecessary when statement * remove outdated codes * fix #17177 * add testcase
-rw-r--r-- | lib/js/asyncjs.nim | 5 | ||||
-rw-r--r-- | tests/js/t17177.nim | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/js/asyncjs.nim b/lib/js/asyncjs.nim index 45053fbaa..b42ce45d8 100644 --- a/lib/js/asyncjs.nim +++ b/lib/js/asyncjs.nim @@ -118,10 +118,11 @@ proc generateJsasync(arg: NimNode): NimNode = var resolve: NimNode if isVoid: resolve = quote: - var `jsResolve` {.importcpp: "undefined".}: Future[void] + var `jsResolve` {.importjs: "undefined".}: Future[void] else: resolve = quote: - proc jsResolve[T](a: T): Future[T] {.importcpp: "#", used.} + proc jsResolve[T](a: T): Future[T] {.importjs: "#", used.} + proc jsResolve[T](a: Future[T]): Future[T] {.importjs: "#", used.} result.body.add(resolve) else: result.body = newEmptyNode() diff --git a/tests/js/t17177.nim b/tests/js/t17177.nim new file mode 100644 index 000000000..fc362cec1 --- /dev/null +++ b/tests/js/t17177.nim @@ -0,0 +1,10 @@ +import std/asyncjs + +proc fn1(n: int): Future[int] {.async.} = return n +proc main2() = + proc fn2(n: int): Future[int] {.async.} = return n +proc main3(a: auto) = + proc fn3(n: int): Future[int] {.async.} = return n +proc main4() {.async.} = + proc fn4(n: int): Future[int] {.async.} = return n + discard |