Skip to content

Commit 4b170d5

Browse files
Rollup merge of rust-lang#35297 - saml:e0001-label, r=jonathandturner
Set label for unreachable pattern Part of rust-lang#35233 Fixes rust-lang#35190 r? @jonathandturner
2 parents fa149c3 + 034e659 commit 4b170d5

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src/librustc_const_eval/check_match.rs

+1
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,7 @@ fn check_arms(cx: &MatchCheckCtxt,
335335
hir::MatchSource::Normal => {
336336
let mut err = struct_span_err!(cx.tcx.sess, pat.span, E0001,
337337
"unreachable pattern");
338+
err.span_label(pat.span, &format!("this is an unreachable pattern"));
338339
// if we had a catchall pattern, hint at that
339340
for row in &seen.0 {
340341
if pat_is_catchall(&cx.tcx.def_map.borrow(), row[0].0) {

src/test/compile-fail/issue-31221.rs

+4
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,15 @@ fn main() {
2222
//~^ NOTE this pattern matches any value
2323
Var2 => (),
2424
//~^ ERROR unreachable pattern
25+
//~^^ NOTE this is an unreachable pattern
2526
};
2627
match &s {
2728
&Var1 => (),
2829
&Var3 => (),
2930
//~^ NOTE this pattern matches any value
3031
&Var2 => (),
3132
//~^ ERROR unreachable pattern
33+
//~^^ NOTE this is an unreachable pattern
3234
};
3335
let t = (Var1, Var1);
3436
match t {
@@ -37,6 +39,7 @@ fn main() {
3739
//~^ NOTE this pattern matches any value
3840
anything => ()
3941
//~^ ERROR unreachable pattern
42+
//~^^ NOTE this is an unreachable pattern
4043
};
4144
// `_` need not emit a note, it is pretty obvious already.
4245
let t = (Var1, Var1);
@@ -45,5 +48,6 @@ fn main() {
4548
_ => (),
4649
anything => ()
4750
//~^ ERROR unreachable pattern
51+
//~^^ NOTE this is an unreachable pattern
4852
};
4953
}

0 commit comments

Comments
 (0)