thard_tyforward.nim 371 B

1234567891011121314151617181920212223
  1. type
  2. Bar[T] = Foo[T, T]
  3. Baz[T] = proc (x: Foo[T, T])
  4. GenericAlias[T] = Foo[T, T]
  5. GenericAlias2[T] = Foo[Baz[T], T]
  6. Concrete1 = Foo[int, float]
  7. Concrete2 = proc(x: proc(a: Foo[int, float]))
  8. Foo[T, U] = object
  9. x: T
  10. y: U
  11. var
  12. x1: Bar[float]
  13. x2: Baz[int]
  14. x3: Concrete1
  15. x4: Concrete2
  16. x5: GenericAlias[int]
  17. x6: GenericAlias2[string]