summary refs log tree commit diff stats
path: root/tests/compile/tcompiles.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-07-20 16:53:01 +0200
committerAraq <rumpf_a@web.de>2012-07-20 16:53:01 +0200
commit34efc2cdf9ac515fae55ec2cc9d6efac37f63398 (patch)
tree4bbe62564b1e0dfec12daffa16da71f7831488da /tests/compile/tcompiles.nim
parent841377206300aee0335cccfb3510766bb7c80e85 (diff)
downloadNim-34efc2cdf9ac515fae55ec2cc9d6efac37f63398.tar.gz
better test for 'system.compiles'
Diffstat (limited to 'tests/compile/tcompiles.nim')
-rw-r--r--tests/compile/tcompiles.nim25
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"
-  
-