• 无类型的延迟类型解析

    无类型的延迟类型解析

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

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

    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 并不是惰性的。