diff options
Diffstat (limited to 'tests/magics/tmagics.nim')
-rw-r--r-- | tests/magics/tmagics.nim | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/magics/tmagics.nim b/tests/magics/tmagics.nim new file mode 100644 index 000000000..d13a036bd --- /dev/null +++ b/tests/magics/tmagics.nim @@ -0,0 +1,45 @@ +discard """ + output: ''' +true +true +false +true +true +false +true +''' +""" + +block tlowhigh: + type myEnum = enum e1, e2, e3, e4, e5 + var a: array[myEnum, int] + + for i in low(a) .. high(a): + a[i] = 0 + + proc sum(a: openarray[int]): int = + result = 0 + for i in low(a)..high(a): + inc(result, a[i]) + + doAssert sum([1, 2, 3, 4]) == 10 + + +block t8693: + type Foo = int | float + + proc bar(t1, t2: typedesc): bool = + echo (t1 is t2) + (t2 is t1) + + proc bar[T](x: T, t2: typedesc): bool = + echo (T is t2) + (t2 is T) + + doAssert bar(int, Foo) == false + doAssert bar(4, Foo) == false + doAssert bar(any, int) + doAssert bar(int, any) == false + doAssert bar(Foo, Foo) + doAssert bar(any, Foo) + doAssert bar(Foo, any) == false |