diff options
author | Araq <rumpf_a@web.de> | 2012-07-20 16:53:01 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2012-07-20 16:53:01 +0200 |
commit | 34efc2cdf9ac515fae55ec2cc9d6efac37f63398 (patch) | |
tree | 4bbe62564b1e0dfec12daffa16da71f7831488da /tests/compile/tcompiles.nim | |
parent | 841377206300aee0335cccfb3510766bb7c80e85 (diff) | |
download | Nim-34efc2cdf9ac515fae55ec2cc9d6efac37f63398.tar.gz |
better test for 'system.compiles'
Diffstat (limited to 'tests/compile/tcompiles.nim')
-rw-r--r-- | tests/compile/tcompiles.nim | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/tests/compile/tcompiles.nim b/tests/compile/tcompiles.nim index 4b72d8bd8..1a1d947b1 100644 --- a/tests/compile/tcompiles.nim +++ b/tests/compile/tcompiles.nim @@ -1,12 +1,31 @@ discard """ - output: '''no''' + 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)) + +type + TObj = object + +var + myObj {.compileTime.}: TObj + +echo "obj has '==': ", supports(`==`, myObj) +echo "int has '==': ", supports(`==`, 45) + +echo supports(`++`, 34) +echo supports(`not`, true) +echo supports(`+`, 34) + when compiles(4+5.0 * "hallo"): echo "yes" else: echo "no" - - |