diff options
Diffstat (limited to 'tests/trmacros/tor.nim')
-rw-r--r-- | tests/trmacros/tor.nim | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/trmacros/tor.nim b/tests/trmacros/tor.nim new file mode 100644 index 000000000..9defc4d1b --- /dev/null +++ b/tests/trmacros/tor.nim @@ -0,0 +1,34 @@ +discard """ + output: ''' +3 +30 +true +''' +""" + + +# bug #798 +template t012{(0|1|2){x}}(x: untyped): untyped = x+1 +let z = 1 +# outputs 3 thanks to fixpoint iteration: +echo z + + +template arithOps: untyped = (`+` | `-` | `*`) +template testOr{ (arithOps{f})(a, b) }(a, b, f: untyped): untyped = + {.noRewrite.}: + f(a mod 10, b) + +let xx = 10 +echo 10*xx + +template t{x = (~x){y} and (~x){z}}(x, y, z: bool): typed = + x = y + if x: x = z + +var + a = true + b = true + c = false +a = b and a +echo a |