summary refs log tree commit diff stats
path: root/tests/trmacros/tstmtlist.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/trmacros/tstmtlist.nim')
-rw-r--r--tests/trmacros/tstmtlist.nim34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/trmacros/tstmtlist.nim b/tests/trmacros/tstmtlist.nim
new file mode 100644
index 000000000..8261e7c45
--- /dev/null
+++ b/tests/trmacros/tstmtlist.nim
@@ -0,0 +1,34 @@
+discard """
+  output: '''0
+|12|
+34
+'''
+"""
+
+template optWrite{
+  write(f, x)
+  ((write|writeLine){w})(f, y)
+}(x, y: varargs[untyped], f, w: untyped) =
+  w(f, "|", x, y, "|")
+
+if true:
+  echo "0"
+  write stdout, "1"
+  writeLine stdout, "2"
+  write stdout, "3"
+  echo "4"
+
+# bug #7972
+
+template optimizeLogWrites*{
+  write(f, x)
+  write(f, y)
+}(x, y: string{lit}, f: File) =
+  write(f, x & y)
+
+proc foo() =
+  const N = 1
+  stdout.write("")
+  stdout.write("")
+
+foo()