summary refs log tree commit diff stats
path: root/tests/ccgbugs
diff options
context:
space:
mode:
authorAnatoly Galiulin <galiulin.anatoly@gmail.com>2017-11-29 07:34:30 +0700
committerAndreas Rumpf <rumpf_a@web.de>2017-11-29 01:34:30 +0100
commitc343303efeb063102d33bcb7d214b384f3dcd7df (patch)
treefdfee56e0ac9f4389ee397802e457cd477d88de2 /tests/ccgbugs
parent5a58caa9c15dd44a6208aa8d1e52d82033bb4510 (diff)
downloadNim-c343303efeb063102d33bcb7d214b384f3dcd7df.tar.gz
Fix usage of parameters types in templates #6756 (#6768)
Diffstat (limited to 'tests/ccgbugs')
-rw-r--r--tests/ccgbugs/t6756.nim18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ccgbugs/t6756.nim b/tests/ccgbugs/t6756.nim
new file mode 100644
index 000000000..0f08557eb
--- /dev/null
+++ b/tests/ccgbugs/t6756.nim
@@ -0,0 +1,18 @@
+import typetraits
+type
+  A[T] = ref object
+    v: T
+
+template templ(o: A, op: untyped): untyped =
+  type T = type(o.v)
+
+  var res: A[T]
+
+  block:
+    var it {.inject.}: T
+    it = o.v
+    res = A[T](v: op)
+  res
+
+let a = A[int](v: 1)
+echo templ(a, it + 2)[]