diff options
Diffstat (limited to 'tests/vm/tissues.nim')
-rw-r--r-- | tests/vm/tissues.nim | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/vm/tissues.nim b/tests/vm/tissues.nim new file mode 100644 index 000000000..021b902ad --- /dev/null +++ b/tests/vm/tissues.nim @@ -0,0 +1,30 @@ +discard """ + nimout: "(Field0: 2, Field1: 2, Field2: 2, Field3: 2)" +""" + +import macros + +block t9043: + proc foo[N: static[int]](dims: array[N, int])= + const N1 = N + const N2 = dims.len + static: echo (N, dims.len, N1, N2) + + foo([1, 2]) + +block t4952: + proc doCheck(tree: NimNode) = + let res: tuple[n: NimNode] = (n: tree) + assert: tree.kind == res.n.kind + for sub in tree: + doCheck(sub) + + macro id(body: untyped): untyped = + doCheck(body) + + id(foo((i: int))) + + static: + let tree = newTree(nnkExprColonExpr) + let t = (n: tree) + assert: t.n.kind == tree.kind |