无类型的延迟类型解析

注意: 未解析 表达式是为没有执行符号查找和类型检查的表达式。

由于未声明为 立即 的模板和宏参与重载分析,因此必须有一种方法将未解析的表达式传递给模板或宏。

  1. template rem(x: untyped) = discard
  2.  
  3. rem unresolvedExpression(undeclaredIdentifier)

untyped 类型的参数总是匹配任何参数(只要有任何参数传递给它)。

但是必须注意,因为其他重载可能触发参数的解析:

  1. template rem(x: untyped) = discard
  2. proc rem[T](x: T) = discard
  3.  
  4. # 未声明的标识符:'unresolvedExpression'
  5. rem unresolvedExpression(undeclaredIdentifier)

untypedvarargs [untyped] 是这种意义上唯一的惰性元类型,其他元类型 typedtypedesc 并不是惰性的。