E4045

E4045#

这个字段在结构体类型中未定义。

错误示例:#

struct S { a : Int, b : Int }
let a : Int = match S::{ a: 2, b: 3 } {
  { c: 2, .. } => 5
  _ => 6
}

在上述例子中,试图匹配一个结构体的不存在的字段 c,在第 3 行报错:

The fields c is not defined in the record type S.

建议#

确保在模式中提供所有字段并使用正确的名称。

struct S { a : Int, b : Int }
let a : Int = match S::{ a: 2, b: 3 } {
  { a: 2, .. } => 5
  _ => 6
}