123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- block: # basic test
- proc doStuff[T](a: SomeInteger): T = discard
- proc doStuff[T;Y](a: SomeInteger, b: Y): Y = discard
- assert typeof(doStuff[int](100)) is int
- assert typeof(doStuff[int](100, 1.0)) is float
- assert typeof(doStuff[int](100, "Hello")) is string
- proc t[T](x: T; z: int | float): seq[T] = result.add(x & $z)
- assert t[string]("Hallo", 2.0) == @["Hallo" & $2.0]
- proc t2[T](z: int | float): seq[T] = result.add($z)
- assert t2[string](2.0) == @[$2.0]
- block: # template test
- template someThing[T;Y](a: SomeFloat, b: SomeOrdinal): (T, Y) = (a, b)
- assert typeof(someThing[float64, int](1.0, 100)) is (float64, int)
- block: # static test
- proc t[T](s: static bool) = discard
- proc t2[T](s: static string) = discard
- t[string](true)
- t2[int]("hello")
- t2[string]("world")
- t2[float]("test222222")
- block: #11152
- proc f[T](X: typedesc) = discard
- f[int](string)
- block: #15622
- proc test1[T](a: T, b: static[string] = "") = discard
- test1[int64](123)
- proc test2[T](a: T, b: static[string] = "") = discard
- test2[int64, static[string]](123)
- block: #4688
- proc convertTo[T](v: int or float): T = (T)(v)
- discard convertTo[float](1)
- block: #4164
- proc printStr[T](s: static[string]): T = discard
- discard printStr[int]("hello static")
|