summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2015-04-22 20:25:11 +0200
committerAraq <rumpf_a@web.de>2015-04-22 20:25:11 +0200
commitbcd8053b2309ab33240cf73c280f73699c59ea1d (patch)
treedd739508b4ef6a13ea178fe61e42723142ff31b3 /tests
parent13c5f792dce81c89e0578c7aa296928ada6b9eb4 (diff)
downloadNim-bcd8053b2309ab33240cf73c280f73699c59ea1d.tar.gz
fixes #2585
Diffstat (limited to 'tests')
-rw-r--r--tests/template/tstmt_semchecked_twice.nim30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/template/tstmt_semchecked_twice.nim b/tests/template/tstmt_semchecked_twice.nim
new file mode 100644
index 000000000..05c16c3c9
--- /dev/null
+++ b/tests/template/tstmt_semchecked_twice.nim
@@ -0,0 +1,30 @@
+
+# bug #2585
+
+type
+    RenderPass = object
+       state: ref int
+
+    RenderData* = object
+        fb: int
+        walls: seq[RenderPass]
+
+    Mat2 = int
+    Vector2[T] = T
+    Pixels=int
+
+template use*(fb: int, st: stmt) : stmt =
+    echo "a ", $fb
+    st
+    echo "a ", $fb
+
+proc render(rdat: var RenderData; passes: var openarray[RenderPass]; proj: Mat2;
+            indexType = 1) =
+    for i in 0 .. <len(passes):
+        echo "blah ", repr(passes[i])
+
+
+
+proc render2*(rdat: var RenderData; screenSz: Vector2[Pixels]; proj: Mat2) =
+    use rdat.fb:
+        render(rdat, rdat.walls, proj, 1)