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
}