自动类型

auto 类型只能用于返回类型和参数。 对于返回类型,它会使编译器从过程体中推断出类型:

  1. proc returnsInt(): auto = 1984

对于形参,它现在是创建隐式的泛型例程:

  1. proc foo(a, b: auto) = discard

同:

  1. proc foo[T1, T2](a: T1, b: T2) = discard

然而,该语言的更高版本可能会将其更改为从方法体 推断形参类型 。 然后上面的 foo 将被拒绝,因为形参的类型不能从空的 discard 语句中推断出来。