diff options
-rw-r--r-- | lib/pure/unittest.nim | 4 | ||||
-rw-r--r-- | tests/patterns/tmatrix.nim | 4 | ||||
-rw-r--r-- | tests/run/tenumitems.nim | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/lib/pure/unittest.nim b/lib/pure/unittest.nim index 8ba0c7987..7bfde7904 100644 --- a/lib/pure/unittest.nim +++ b/lib/pure/unittest.nim @@ -92,7 +92,7 @@ template fail* = TestStatusIMPL = FAILED checkpoints = @[] -macro check*(conditions: stmt): stmt = +macro check*(conditions: stmt): stmt {.immediate.} = let conditions = callsite() proc standardRewrite(e: PNimrodNode): PNimrodNode = @@ -153,7 +153,7 @@ template require*(conditions: stmt): stmt {.dirty.} = const AbortOnError {.inject.} = true check conditions -macro expect*(exp: stmt): stmt = +macro expect*(exp: stmt): stmt {.immediate.} = let exp = callsite() template expectBody(errorTypes, lineInfoLit: expr, body: stmt): PNimrodNode {.dirty.} = diff --git a/tests/patterns/tmatrix.nim b/tests/patterns/tmatrix.nim index 5074e068d..1d411ad25 100644 --- a/tests/patterns/tmatrix.nim +++ b/tests/patterns/tmatrix.nim @@ -12,9 +12,11 @@ proc `*`(a, b: TMat): TMat = nil proc `+`(a, b: TMat): TMat = nil proc `-`(a, b: TMat): TMat = nil proc `$`(a: TMat): string = result = $a.dummy +proc mat32(): TMat = + result.dummy = 21 macro optOps{ (`+`|`-`|`*`) *| a }(a: TMat): expr = - result = callsite() + result = newCall(bindSym"mat32") #macro optPlus{ `+` * a }(a: varargs[TMat]): expr = # result = newIntLitNode(21) diff --git a/tests/run/tenumitems.nim b/tests/run/tenumitems.nim index f4f04e2c0..db4c6b554 100644 --- a/tests/run/tenumitems.nim +++ b/tests/run/tenumitems.nim @@ -5,7 +5,7 @@ discard """ type TAlphabet = enum A, B, C -iterator items(E: typedesc{enum}): E = +iterator items(E: typedesc[enum]): E = for v in low(E)..high(E): yield v |