diff options
Diffstat (limited to 'tests/compile/tcompiles.nim')
-rw-r--r-- | tests/compile/tcompiles.nim | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/tests/compile/tcompiles.nim b/tests/compile/tcompiles.nim index 1a1d947b1..d0fccdaff 100644 --- a/tests/compile/tcompiles.nim +++ b/tests/compile/tcompiles.nim @@ -1,31 +1,26 @@ -discard """ - output: '''obj has '==': false -int has '==': true -false -true -true -no''' -""" - # test the new 'compiles' feature: template supports(opr, x: expr): bool {.immediate.} = compiles(opr(x)) or compiles(opr(x, x)) +template ok(x: expr): stmt = + static: assert(x) + +template no(x: expr): stmt = + static: assert(not x) + type TObj = object var myObj {.compileTime.}: TObj -echo "obj has '==': ", supports(`==`, myObj) -echo "int has '==': ", supports(`==`, 45) +ok supports(`==`, myObj) +ok supports(`==`, 45) + +no supports(`++`, 34) +ok supports(`not`, true) +ok supports(`+`, 34) -echo supports(`++`, 34) -echo supports(`not`, true) -echo supports(`+`, 34) +no compiles(4+5.0 * "hallo") -when compiles(4+5.0 * "hallo"): - echo "yes" -else: - echo "no" |