summary refs log tree commit diff stats
path: root/tests/vm/tissues.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vm/tissues.nim')
-rw-r--r--tests/vm/tissues.nim30
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