Set label for unreachable pattern
Part of #35233 Fixes #35190 r? @jonathandturner
This commit is contained in:
parent
e804a3cf25
commit
eeda69fcca
2 changed files with 5 additions and 0 deletions
|
|
@ -335,6 +335,7 @@ fn check_arms(cx: &MatchCheckCtxt,
|
|||
hir::MatchSource::Normal => {
|
||||
let mut err = struct_span_err!(cx.tcx.sess, pat.span, E0001,
|
||||
"unreachable pattern");
|
||||
err.span_label(pat.span, &format!("this is unreachable pattern"));
|
||||
// if we had a catchall pattern, hint at that
|
||||
for row in &seen.0 {
|
||||
if pat_is_catchall(&cx.tcx.def_map.borrow(), row[0].0) {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ fn main() {
|
|||
//~^ NOTE this pattern matches any value
|
||||
Var2 => (),
|
||||
//~^ ERROR unreachable pattern
|
||||
//~^^ NOTE this is unreachable pattern
|
||||
};
|
||||
match &s {
|
||||
&Var1 => (),
|
||||
|
|
@ -29,6 +30,7 @@ fn main() {
|
|||
//~^ NOTE this pattern matches any value
|
||||
&Var2 => (),
|
||||
//~^ ERROR unreachable pattern
|
||||
//~^^ NOTE this is unreachable pattern
|
||||
};
|
||||
let t = (Var1, Var1);
|
||||
match t {
|
||||
|
|
@ -37,6 +39,7 @@ fn main() {
|
|||
//~^ NOTE this pattern matches any value
|
||||
anything => ()
|
||||
//~^ ERROR unreachable pattern
|
||||
//~^^ NOTE this is unreachable pattern
|
||||
};
|
||||
// `_` need not emit a note, it is pretty obvious already.
|
||||
let t = (Var1, Var1);
|
||||
|
|
@ -45,5 +48,6 @@ fn main() {
|
|||
_ => (),
|
||||
anything => ()
|
||||
//~^ ERROR unreachable pattern
|
||||
//~^^ NOTE this is unreachable pattern
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue