12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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
|