E0010#
这个模式未使用。这通常发生在模式匹配中,这个模式完全被前一个模式覆盖。
MoonBit 中的模式匹配是按顺序执行的,从第一个分支到最后一个。如果一个模式被前一个模式覆盖,它将永远不会被执行,因为所有的控制流都将被定向到第一个匹配的分支。
错误示例#
///|
test {
match Some(1) {
Some(1) | Some(1) => ()
Some(2..<_) | Some(2) => ()
_ | None => ()
}
}
建议#
This warning can usually be fixed by removing the patterns that are covered.
///|
test {
match Some(1) {
Some(1) => ()
Some(2..<_) => ()
_ => ()
}
}