]> git.lizzy.rs Git - rust.git/commit
When finding a match expr with a single arm that requires more, suggest it
authorEsteban Kuber <esteban@kuber.com.ar>
Thu, 16 Dec 2021 02:14:17 +0000 (02:14 +0000)
committerEsteban Kuber <esteban@kuber.com.ar>
Tue, 8 Mar 2022 00:18:24 +0000 (00:18 +0000)
commit2383858f34989f7c6c87da857bd038f5ce0a66b0
treefae94544bea7a6888068b41bb51c1983aeceb813
parent02a3830f245d84672db133208c73756eb8778964
When finding a match expr with a single arm that requires more, suggest it

Given

```rust
match Some(42) {
    Some(0) => {}
}
```

suggest

```rust
match Some(42) {
    Some(0) => {}
    None | Some(_) => todo!(),
}
```
31 files changed:
compiler/rustc_mir_build/src/thir/pattern/check_match.rs
src/test/ui/closures/2229_closure_analysis/match/issue-88331.stderr
src/test/ui/closures/2229_closure_analysis/match/non-exhaustive-match.stderr
src/test/ui/error-codes/E0004.stderr
src/test/ui/feature-gates/feature-gate-precise_pointer_size_matching.stderr
src/test/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.stderr
src/test/ui/match/match_non_exhaustive.stderr
src/test/ui/or-patterns/exhaustiveness-non-exhaustive.stderr
src/test/ui/or-patterns/issue-69875-should-have-been-expanded-earlier-non-exhaustive.stderr
src/test/ui/pattern/usefulness/doc-hidden-non-exhaustive.stderr
src/test/ui/pattern/usefulness/empty-match.exhaustive_patterns.stderr
src/test/ui/pattern/usefulness/empty-match.normal.stderr
src/test/ui/pattern/usefulness/floats.stderr
src/test/ui/pattern/usefulness/integer-ranges/exhaustiveness.stderr
src/test/ui/pattern/usefulness/integer-ranges/pointer-sized-int.deny.stderr
src/test/ui/pattern/usefulness/integer-ranges/precise_pointer_matching-message.stderr
src/test/ui/pattern/usefulness/issue-30240.stderr
src/test/ui/pattern/usefulness/issue-35609.stderr
src/test/ui/pattern/usefulness/issue-3601.stderr
src/test/ui/pattern/usefulness/issue-40221.stderr
src/test/ui/pattern/usefulness/issue-50900.stderr
src/test/ui/pattern/usefulness/match-byte-array-patterns-2.stderr
src/test/ui/pattern/usefulness/match-non-exhaustive.stderr
src/test/ui/pattern/usefulness/non-exhaustive-defined-here.stderr
src/test/ui/pattern/usefulness/non-exhaustive-match.stderr
src/test/ui/pattern/usefulness/non-exhaustive-pattern-witness.stderr
src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr
src/test/ui/pattern/usefulness/stable-gated-patterns.stderr
src/test/ui/pattern/usefulness/type_polymorphic_byte_str_literals.stderr
src/test/ui/rfc-2005-default-binding-mode/slice.stderr
src/test/ui/uninhabited/uninhabited-matches-feature-gated.stderr