泛型推导限制
类型 var T 和 typedesc [T] 不能在泛型实例中推断出来。以下是不允许的:
- proc g[T](f: proc(x: T); x: T) =
- f(x)
- proc c(y: int) = echo y
- proc v(y: var int) =
- y += 100
- var i: int
- # 允许:推断 'T' 为 'int' 类型
- g(c, 42)
- # 无效:'T'不推断为'var int'类型
- g(v, i)
- # 也不允许:通过'var int'进行显式实例化
- g[var int](v, i)