E4029

E4029#

这个表达式的类型不是一个枚举值。

错误示例:#

fn main {
  fn f {
    (a, b) => a + b
  }
  let a = f(None)
}

在上述例子中,试图对 None 值调用函数 f,这是 Option[_] 类型的一个枚举值,但 f 只接受一个元组,在第 5 行报错:

This expression has type (Int, Int), which is a tuple type and not a variant.

建议#

确保使用正确类型的值:

fn main {
  fn f {
    (a, b) => a + b
  }
  let a = f((3, 4))
}