mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
A more efficient implementation is possible by restoring the old lifting ot tyGenericInvocation to tyGenericInst in liftTypeParam, but this fix will suffice for now. fixes #5087 fixes #5602 fixes #5641 fixes #5570
29 lines
334 B
Nim
29 lines
334 B
Nim
discard """
|
|
output: '''type(c) = GenAlias[system.int]
|
|
T = int
|
|
seq[int]
|
|
'''
|
|
"""
|
|
|
|
import typetraits
|
|
|
|
type
|
|
Gen[T] = object
|
|
x: T
|
|
|
|
GenAlias[T] = Gen[seq[T]]
|
|
|
|
proc f1[T](x: Gen[T]) =
|
|
echo T.name
|
|
|
|
proc f2[T](x: GenAlias[T]) =
|
|
echo "type(c) = ", type(x).name
|
|
echo "T = ", T.name
|
|
f1 x
|
|
|
|
let
|
|
y = Gen[seq[int]](x: @[10])
|
|
|
|
f2 y
|
|
|