diff options
Diffstat (limited to 'tests/generics/timports.nim')
-rw-r--r-- | tests/generics/timports.nim | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/generics/timports.nim b/tests/generics/timports.nim new file mode 100644 index 000000000..e252ad194 --- /dev/null +++ b/tests/generics/timports.nim @@ -0,0 +1,63 @@ +discard """ + output: ''' +317 +TEST2 +5 5 5 +false +''' +""" + +import mbind_bracket, mclosed_sym, mdotlookup, mmodule_same_as_proc, mtypenodes + + +block tbind_bracket: + # bug #2599 + # also test that `[]` can be passed now as a first class construct: + + template takeBracket(x, a, i: untyped) = + echo x(a, i) + + var a: array[10, int] + a[8] = 317 + + takeBracket(`[]`, a, 8) + + let reg = newRegistry[UUIDObject]() + reg.register(UUIDObject()) + + +block tclosed_sym: + # bug #2664 + proc same(r:R, d:int) = echo "TEST1" + doIt(Data[int](d:123), R()) + +import strutils, unicode # ambiguous `strip` + +block tdotlookup: + foo(7) + # bug #1444 + fn(4) + doAssert doStrip(123) == "123" + # bug #14254 + doAssert baz2[float](1'i8) == 1 + # bug #21883 + proc abc[T: not not int](x: T): T = + var x = x + x.set("hello", "world") + result = x + doAssert abc(5) == 10 + block: # ensure normal call is consistent with dot call + proc T(x: int): float = x.float + proc foo[T](x: int) = + doAssert typeof(T(x)) is typeof(x.T) + foo[uint](123) + +block tmodule_same_as_proc: + # bug #1965 + proc test[T](t: T) = + mmodule_same_as_proc"a" + test(0) + +block ttypenodes: + # issue #22699 + doAssert chop[bool](42) == 42 |