about summary refs log tree commit diff
path: root/tests/ui/pattern/usefulness
AgeCommit message (Collapse)AuthorLines
2023-10-27Add testsNadrieril-14/+80
2023-10-27Lint overlapping ranges as a separate passNadrieril-15/+58
2023-10-14Skip most of check_match checks in the presence of `PatKind::Error`Nadrieril-34/+9
2023-10-12Auto merge of #116391 - Nadrieril:constructorset, r=cjgillotbors-0/+61
exhaustiveness: Rework constructor splitting `SplitWildcard` was pretty opaque. I replaced it with a more legible abstraction: `ConstructorSet` represents the set of constructors for patterns of a given type. This clarifies responsibilities: `ConstructorSet` handles one clear task, and diagnostic-related shenanigans can be done separately. I'm quite excited, I had has this in mind for years but could never quite introduce it. This opens up possibilities, including type-specific optimisations (like using a `FxHashSet` to collect enum variants, which had been [hackily attempted some years ago](https://github.com/rust-lang/rust/pull/76918)), my one-pass rewrite (https://github.com/rust-lang/rust/pull/116042), and future librarification.
2023-10-11Prevent spurious `unreachable pattern` lintsOli Scherer-138/+28
Means you'll get more `non-exhaustive` patterns
2023-10-05Fix handling slices of empty typesNadrieril-0/+61
2023-10-01Evaluate float consts eagerlyNadrieril-15/+77
2023-09-03Improve clarity of diagnostic message on non-exhaustive matchesSebastian Toh-5/+5
2023-08-28Add note when matching on nested non-exhaustive enumsSebastian Toh-0/+42
2023-08-28Add note that str cannot be matched exhaustivelySebastian Toh-0/+31
2023-08-21Add note when matching on tuples/ADTs containing non-exhaustive typesSebastian Toh-0/+245
2023-06-28add comment backEric Mark Martin-1/+2
2023-06-28add note for non-exhaustive matches with guardsEric Mark Martin-24/+55
2023-05-25Add NOTE annotations.Camille GILLOT-75/+141
2023-05-25Add inter-crate test.Camille GILLOT-40/+75
2023-05-15Always fall back to PartialEq when a constant in a pattern is not ↵Oli Scherer-40/+53
recursively structural-eq
2023-04-03Reinstate confusion note.Camille GILLOT-0/+4
2023-04-03Perform match checking on THIR.Camille GILLOT-168/+168
2023-03-27Add notes to non-structural const in pattern error messageJamen Marz-0/+32
2023-01-11Translate `Overlap` eagerlymejrs-0/+1
2023-01-11Don't recommend `if let` if `let else` worksmejrs-10/+2
2023-01-11Migrate pattern matchingmejrs-59/+65
2023-01-11Migrate deconstruct_pat.rsmejrs-1/+0
2023-01-11Move /src/test to /testsAlbert Larsan-0/+6440