diff options
Diffstat (limited to 'tests/macros')
-rw-r--r-- | tests/macros/tsametype.nim | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/macros/tsametype.nim b/tests/macros/tsametype.nim new file mode 100644 index 000000000..6baa34751 --- /dev/null +++ b/tests/macros/tsametype.nim @@ -0,0 +1,41 @@ +discard """ +output: '''1 +0 +1 +0 +1 +0 +1 +0 +1 +0''' +""" + +import macros + +macro same(a: typedesc, b: typedesc): expr = + newLit(a.getType[1].sameType b.getType[1]) + +echo same(int, int) +echo same(int, float) + +type + SomeInt = int + DistinctInt = distinct int + SomeFloat = float + DistinctFloat = distinct float + +echo same(int, SomeInt) +echo same(int, DistinctInt) +echo same(float, SomeFloat) +echo same(float, DistinctFloat) + +type + Obj = object of RootObj + SubObj = object of Obj + Other = object of RootObj + +echo same(Obj, Obj) +echo same(int, Obj) +echo same(SubObj, SubObj) +echo same(Other, Obj) |