* remove unnecessary when statement

* remove outdated codes

* fix #17177

* add testcase
This commit is contained in:
flywind 2021-03-03 18:57:34 +08:00 • committed by GitHub
commit ec068a2687
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View file

@ -118,10 +118,11 @@ proc generateJsasync(arg: NimNode): NimNode =
var resolve: NimNode var resolve: NimNode
if isVoid: if isVoid:
resolve = quote: resolve = quote:
var `jsResolve` {.importcpp: "undefined".}: Future[void] var `jsResolve` {.importjs: "undefined".}: Future[void]
else: else:
resolve = quote: 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) result.body.add(resolve)
else: else:
result.body = newEmptyNode() result.body = newEmptyNode()

10
tests/js/t17177.nim Normal file
View file

@ -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