E3016#
参数中出现了意外的 ~。你是不是想要 label=pattern 或 label~?
错误示例#
///|
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))
}
建议#
将 b~ 替换为适当的 b= 或 b~。
///|
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))
}
或者,
///|
fn use_named_pattern(a : A) -> Unit {
match a {
A(b=c) => println("Hello, world! \{c}")
}
}