E0046#
Useless ..
in struct or constructor pattern.
..
can be used to ignore unmatched fields in struct pattern,
or ignore unmatched labelled arguments in constructor pattern.
But if all fields/labelled arguments are already matched, the ..
is useless,
and this warning will be emitted.
Erroneous example#
struct Point {
x : Int
y : Int
}
fn f(p : Point) -> Unit {
let { x, y, .. } = p
println(x + y)
}
test {
f({ x: 1, y: 2 })
}