summary refs log tree commit diff stats
path: root/lib/pure/asyncmacro.nim
diff options
context:
space:
mode:
authorArdek Romak <ardek66@tutanota.com>2021-03-30 09:07:45 +0300
committerGitHub <noreply@github.com>2021-03-30 08:07:45 +0200
commit9e88425d7c5e3edfcbddedbe062c5f028789a002 (patch)
tree4bbcbd0ee86597a78221098dda3b70a36c1467be /lib/pure/asyncmacro.nim
parenta672ec3c9e25159d3482aebfe1d0bb4271910869 (diff)
downloadNim-9e88425d7c5e3edfcbddedbe062c5f028789a002.tar.gz
Fix void async in templates (#17562)
* Fix https://github.com/nim-lang/Nim/issues/16159
* Add test for async in template
* Shorten the expression
* Even shorter

Co-authored-by: Clyybber <darkmine956@gmail.com>
Diffstat (limited to 'lib/pure/asyncmacro.nim')
-rw-r--r--lib/pure/asyncmacro.nim5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/pure/asyncmacro.nim b/lib/pure/asyncmacro.nim
index eecec4278..336d10aad 100644
--- a/lib/pure/asyncmacro.nim
+++ b/lib/pure/asyncmacro.nim
@@ -184,8 +184,9 @@ proc asyncSingleProc(prc: NimNode): NimNode =
     verifyReturnType(repr(returnType), returnType)
 
   let subtypeIsVoid = returnType.kind == nnkEmpty or
-        (baseType.kind == nnkIdent and returnType[1].eqIdent("void"))
-
+        (baseType.kind in {nnkIdent, nnkSym} and
+         baseType.eqIdent("void"))
+  
   let futureVarIdents = getFutureVarIdents(prc.params)
 
   var outerProcBody = newNimNode(nnkStmtList, prc.body)