E1021#
Some arguments of constructor are omitted in pattern.
Erroneous example#
enum E {
A(Int, w~ : Int, h~ : Int)
}
fn main {
match A(0, w=1, h=2) {
A(v, w~) => { // Warning: The argument(s) h of constructor A are omitted.
println(v)
println(w)
}
}
}
Suggestion#
If you want to omit some arguments, add the ..
to the end of the pattern:
fn main {
match A(0, w=1, h=2) {
A(v, w~, ..) => {
println(v)
println(w)
}
}
}
Or, you can match all arguments:
fn main {
match A(0, w=1, h=2) {
A(v, w~, h~) => {
println(v)
println(w)
println(h)
}
}
}