fixing TypelessParam warning in x=>x+1, added test
This commit is contained in:
parent
ba4dd92f45
commit
925e7b0ca1
2 changed files with 15 additions and 2 deletions
|
|
@ -75,7 +75,7 @@ macro `=>`*(p, b: expr): expr {.immediate.} =
|
||||||
identDefs.add(newEmptyNode())
|
identDefs.add(newEmptyNode())
|
||||||
of nnkIdent:
|
of nnkIdent:
|
||||||
identDefs.add(c)
|
identDefs.add(c)
|
||||||
identDefs.add(newEmptyNode())
|
identDefs.add(newIdentNode("auto"))
|
||||||
identDefs.add(newEmptyNode())
|
identDefs.add(newEmptyNode())
|
||||||
of nnkInfix:
|
of nnkInfix:
|
||||||
if c[0].kind == nnkIdent and c[0].ident == !"->":
|
if c[0].kind == nnkIdent and c[0].ident == !"->":
|
||||||
|
|
@ -93,7 +93,7 @@ macro `=>`*(p, b: expr): expr {.immediate.} =
|
||||||
of nnkIdent:
|
of nnkIdent:
|
||||||
var identDefs = newNimNode(nnkIdentDefs)
|
var identDefs = newNimNode(nnkIdentDefs)
|
||||||
identDefs.add(p)
|
identDefs.add(p)
|
||||||
identDefs.add(newEmptyNode())
|
identDefs.add(newIdentNode("auto"))
|
||||||
identDefs.add(newEmptyNode())
|
identDefs.add(newEmptyNode())
|
||||||
params.add(identDefs)
|
params.add(identDefs)
|
||||||
of nnkInfix:
|
of nnkInfix:
|
||||||
|
|
|
||||||
13
tests/generics/tmap_auto.nim
Normal file
13
tests/generics/tmap_auto.nim
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
import future
|
||||||
|
|
||||||
|
let x = map(@[1, 2, 3], x => x+10)
|
||||||
|
assert x == @[11, 12, 13]
|
||||||
|
|
||||||
|
let y = map(@[(1,"a"), (2,"b"), (3,"c")], x => $x[0] & x[1])
|
||||||
|
assert y == @["1a", "2b", "3c"]
|
||||||
|
|
||||||
|
proc eatsTwoArgProc[T,S,U](a: T, b: S, f: proc(t: T, s: S): U): U =
|
||||||
|
f(a,b)
|
||||||
|
|
||||||
|
let z = eatsTwoArgProc(1, "a", (t,s) => $t & s)
|
||||||
|
assert z == "1a"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue