E4044

E4044#

结构体字段缺失。在模式中使用 .. 忽略它们。

错误示例:#

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

在上述例子中,试图匹配一个结构体但缺少字段 b ,在第 3 行报错:

Record fields b are unmatched, use `..` to ignore them.

建议#

确保在模式中提供所有字段,或者使用 .. 忽略缺失的字段:

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