Skip to content

Commit 94ad5e1

Browse files
committed
Improve error message
1 parent c89d439 commit 94ad5e1

File tree

2 files changed

+35
-20
lines changed

2 files changed

+35
-20
lines changed

compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -309,18 +309,18 @@ impl IntRange {
309309
pcx.span,
310310
|lint| {
311311
let mut err = lint.build("multiple patterns overlap on their endpoints");
312-
err.span_label(pcx.span, "overlapping range endpoints");
312+
err.span_label(pcx.span, "... with this range");
313313
for (int_range, span) in overlaps {
314314
// Use the real type for user display of the ranges:
315315
err.span_label(
316316
span,
317317
&format!(
318-
"this range overlaps on `{}`",
318+
"this range overlaps on `{}`...",
319319
int_range.to_pat(pcx.cx.tcx, pcx.ty)
320320
),
321321
);
322322
}
323-
// FIXME: add note
323+
err.note("this is likely to be a mistake");
324324
err.emit();
325325
},
326326
);

src/test/ui/pattern/usefulness/integer-ranges/overlapping_range_endpoints.stderr

+32-17
Original file line numberDiff line numberDiff line change
@@ -2,73 +2,88 @@ error: multiple patterns overlap on their endpoints
22
--> $DIR/overlapping_range_endpoints.rs:15:22
33
|
44
LL | m!(0u8, 20..=30, 30..=40);
5-
| ------- ^^^^^^^ overlapping range endpoints
5+
| ------- ^^^^^^^ ... with this range
66
| |
7-
| this range overlaps on `30_u8`
7+
| this range overlaps on `30_u8`...
88
|
99
note: the lint level is defined here
1010
--> $DIR/overlapping_range_endpoints.rs:2:9
1111
|
1212
LL | #![deny(overlapping_range_endpoints)]
1313
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
14+
= note: this is likely to be a mistake
1415

1516
error: multiple patterns overlap on their endpoints
1617
--> $DIR/overlapping_range_endpoints.rs:16:22
1718
|
1819
LL | m!(0u8, 30..=40, 20..=30);
19-
| ------- ^^^^^^^ overlapping range endpoints
20+
| ------- ^^^^^^^ ... with this range
2021
| |
21-
| this range overlaps on `30_u8`
22+
| this range overlaps on `30_u8`...
23+
|
24+
= note: this is likely to be a mistake
2225

2326
error: multiple patterns overlap on their endpoints
2427
--> $DIR/overlapping_range_endpoints.rs:19:22
2528
|
2629
LL | m!(0u8, 20.. 30, 29..=40);
27-
| ------- ^^^^^^^ overlapping range endpoints
30+
| ------- ^^^^^^^ ... with this range
2831
| |
29-
| this range overlaps on `29_u8`
32+
| this range overlaps on `29_u8`...
33+
|
34+
= note: this is likely to be a mistake
3035

3136
error: multiple patterns overlap on their endpoints
3237
--> $DIR/overlapping_range_endpoints.rs:23:22
3338
|
3439
LL | m!(0u8, 20..=30, 30..=31);
35-
| ------- ^^^^^^^ overlapping range endpoints
40+
| ------- ^^^^^^^ ... with this range
3641
| |
37-
| this range overlaps on `30_u8`
42+
| this range overlaps on `30_u8`...
43+
|
44+
= note: this is likely to be a mistake
3845

3946
error: multiple patterns overlap on their endpoints
4047
--> $DIR/overlapping_range_endpoints.rs:27:22
4148
|
4249
LL | m!(0u8, 20..=30, 19..=20);
43-
| ------- ^^^^^^^ overlapping range endpoints
50+
| ------- ^^^^^^^ ... with this range
4451
| |
45-
| this range overlaps on `20_u8`
52+
| this range overlaps on `20_u8`...
53+
|
54+
= note: this is likely to be a mistake
4655

4756
error: multiple patterns overlap on their endpoints
4857
--> $DIR/overlapping_range_endpoints.rs:39:9
4958
|
5059
LL | 0..=10 => {}
51-
| ------ this range overlaps on `10_u8`
60+
| ------ this range overlaps on `10_u8`...
5261
LL | 20..=30 => {}
53-
| ------- this range overlaps on `20_u8`
62+
| ------- this range overlaps on `20_u8`...
5463
LL | 10..=20 => {}
55-
| ^^^^^^^ overlapping range endpoints
64+
| ^^^^^^^ ... with this range
65+
|
66+
= note: this is likely to be a mistake
5667

5768
error: multiple patterns overlap on their endpoints
5869
--> $DIR/overlapping_range_endpoints.rs:50:16
5970
|
6071
LL | (true, 0..=10) => {}
61-
| ------ this range overlaps on `10_u8`
72+
| ------ this range overlaps on `10_u8`...
6273
LL | (true, 10..20) => {}
63-
| ^^^^^^ overlapping range endpoints
74+
| ^^^^^^ ... with this range
75+
|
76+
= note: this is likely to be a mistake
6477

6578
error: multiple patterns overlap on their endpoints
6679
--> $DIR/overlapping_range_endpoints.rs:56:14
6780
|
6881
LL | Some(0..=10) => {}
69-
| ------ this range overlaps on `10_u8`
82+
| ------ this range overlaps on `10_u8`...
7083
LL | Some(10..20) => {}
71-
| ^^^^^^ overlapping range endpoints
84+
| ^^^^^^ ... with this range
85+
|
86+
= note: this is likely to be a mistake
7287

7388
error: aborting due to 8 previous errors
7489

0 commit comments

Comments
 (0)