fixes #798
This commit is contained in:
parent
5d6053173a
commit
7c065bfadf
12 changed files with 10 additions and 2 deletions
28
tests/trmacros/tor.nim
Normal file
28
tests/trmacros/tor.nim
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
discard """
|
||||
output: '''3060
|
||||
true
|
||||
3'''
|
||||
"""
|
||||
|
||||
template arithOps: expr = (`+` | `-` | `*`)
|
||||
template testOr{ (arithOps{f})(a, b) }(a, b, f: expr): expr = f(a+1, b)
|
||||
|
||||
let xx = 10
|
||||
echo 10*xx
|
||||
|
||||
template t{x = (~x){y} and (~x){z}}(x, y, z: bool): stmt =
|
||||
x = y
|
||||
if x: x = z
|
||||
|
||||
var
|
||||
a = true
|
||||
b = true
|
||||
c = false
|
||||
a = b and a
|
||||
echo a
|
||||
|
||||
# bug #798
|
||||
template t012{(0|1|2){x}}(x: expr): expr = x+1
|
||||
let z = 1
|
||||
# outputs 3 thanks to fixpoint iteration:
|
||||
echo z
|
||||
Loading…
Add table
Add a link
Reference in a new issue