Revert a diagnostic change in the case of integer ranges
This commit is contained in:
parent
d44774d72c
commit
fbd2cd09e6
6 changed files with 11 additions and 10 deletions
|
@ -1778,8 +1778,9 @@ pub fn is_useful<'p, 'tcx>(
|
|||
// satisfied with `(_, _, true)`. In this case,
|
||||
// `used_ctors` is empty.
|
||||
// The exception is: if we are at the top-level, for example in an empty match, we
|
||||
// prefer reporting the list of constructors instead of just `_`.
|
||||
if missing_ctors.all_ctors_are_missing() && !is_top_level {
|
||||
// sometimes prefer reporting the list of constructors instead of just `_`.
|
||||
let report_ctors_rather_than_wildcard = is_top_level && !IntRange::is_integral(pcx.ty);
|
||||
if missing_ctors.all_ctors_are_missing() && !report_ctors_rather_than_wildcard {
|
||||
// All constructors are unused. Add a wild pattern
|
||||
// rather than each individual constructor.
|
||||
usefulness.apply_wildcard(pcx.ty)
|
||||
|
|
|
@ -77,7 +77,7 @@ fn main() {
|
|||
//~^ ERROR `V1`, `V2`, `V3` and 2 more not covered
|
||||
|
||||
match_false!(0u8);
|
||||
//~^ ERROR `0u8..=std::u8::MAX` not covered
|
||||
//~^ ERROR `_` not covered
|
||||
match_false!(NonEmptyStruct(true));
|
||||
//~^ ERROR `NonEmptyStruct(_)` not covered
|
||||
match_false!((NonEmptyUnion1 { foo: () }));
|
||||
|
|
|
@ -123,11 +123,11 @@ LL | match_empty!(NonEmptyEnum5::V1);
|
|||
|
|
||||
= help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `0u8..=std::u8::MAX` not covered
|
||||
error[E0004]: non-exhaustive patterns: `_` not covered
|
||||
--> $DIR/match-empty-exhaustive_patterns.rs:79:18
|
||||
|
|
||||
LL | match_false!(0u8);
|
||||
| ^^^ pattern `0u8..=std::u8::MAX` not covered
|
||||
| ^^^ pattern `_` not covered
|
||||
|
|
||||
= help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ fn main() {
|
|||
//~^ ERROR `V1`, `V2`, `V3` and 2 more not covered
|
||||
|
||||
match_false!(0u8);
|
||||
//~^ ERROR `0u8..=std::u8::MAX` not covered
|
||||
//~^ ERROR `_` not covered
|
||||
match_false!(NonEmptyStruct(true));
|
||||
//~^ ERROR `NonEmptyStruct(_)` not covered
|
||||
match_false!((NonEmptyUnion1 { foo: () }));
|
||||
|
|
|
@ -104,11 +104,11 @@ LL | match_empty!(NonEmptyEnum5::V1);
|
|||
|
|
||||
= help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `0u8..=std::u8::MAX` not covered
|
||||
error[E0004]: non-exhaustive patterns: `_` not covered
|
||||
--> $DIR/match-empty.rs:78:18
|
||||
|
|
||||
LL | match_false!(0u8);
|
||||
| ^^^ pattern `0u8..=std::u8::MAX` not covered
|
||||
| ^^^ pattern `_` not covered
|
||||
|
|
||||
= help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
|
||||
|
||||
|
|
|
@ -6,11 +6,11 @@ LL | match 0 { 1 => () }
|
|||
|
|
||||
= help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `std::i32::MIN..=std::i32::MAX` not covered
|
||||
error[E0004]: non-exhaustive patterns: `_` not covered
|
||||
--> $DIR/match-non-exhaustive.rs:3:11
|
||||
|
|
||||
LL | match 0 { 0 if false => () }
|
||||
| ^ pattern `std::i32::MIN..=std::i32::MAX` not covered
|
||||
| ^ pattern `_` not covered
|
||||
|
|
||||
= help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue