diff options
author | Araq <rumpf_a@web.de> | 2014-12-19 13:44:43 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-12-19 13:44:43 +0100 |
commit | d4230e052d1229ba8128e3630a84f7decfd09d75 (patch) | |
tree | f35ea41db0ebedf76f185ee8b6a603785944ea4d /lib | |
parent | 18cbd516007aac73cf6a3384b09b2b020a86cba6 (diff) | |
download | Nim-d4230e052d1229ba8128e3630a84f7decfd09d75.tar.gz |
allow () in more contexts
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/future.nim | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/pure/future.nim b/lib/pure/future.nim index 34b76e41d..a0c1b5c2d 100644 --- a/lib/pure/future.nim +++ b/lib/pure/future.nim @@ -77,7 +77,17 @@ macro `=>`*(p, b: expr): expr {.immediate.} = identDefs.add(c) identDefs.add(newEmptyNode()) identDefs.add(newEmptyNode()) + of nnkInfix: + if c[0].kind == nnkIdent and c[0].ident == !"->": + var procTy = createProcType(c[1], c[2]) + params[0] = procTy[0][0] + for i in 1 .. <procTy[0].len: + params.add(procTy[0][i]) + else: + error("Expected proc type (->) got (" & $c[0].ident & ").") + break else: + echo treeRepr c error("Incorrect procedure parameter list.") params.add(identDefs) of nnkIdent: |