E1046#
在匹配结构体或枚举构造器时,有无用的 ..
。
在模式匹配时,..
可以用来忽略结构体中未被匹配的字段,或是枚举构造器中未被匹配的带标签的参数。但如果所有字段/带标签的参数都已经被显式地匹配到了,那么 ..
就是无用的,此时编译器会产生一个警告。
错误示例#
struct Point {
x : Int
y : Int
}
fn f(p : Point) -> Unit {
let { x, y, .. } = p
println(x + y)
}
test {
f({ x: 1, y: 2 })
}