E3016#
Unexpected ~ in argument. Did you mean label=pattern or label~?
Erroneous example#
///|
pub(all) enum A {
A(b~ : Int)
}
///|
fn describe(a : A) -> Unit {
match a {
A(b~=c) => println("Hello, world! \{c}") // Error: unexpected `~` in argument. Did you mean `label=pattern` or `label~`?
}
}
///|
test {
describe(A(b=1))
}
Suggestion#
Replace b~ with b= or b~ as appropriate.
///|
pub(all) enum A {
A(b~ : Int)
}
///|
fn use_pun_pattern(a : A) -> Unit {
match a {
A(b~) => println("Hello, world! \{b}")
}
}
///|
test {
use_pun_pattern(A(b=1))
use_named_pattern(A(b=1))
}
Or,
///|
fn use_named_pattern(a : A) -> Unit {
match a {
A(b=c) => println("Hello, world! \{c}")
}
}