summary refs log tree commit diff
path: root/compiler/rustc_pattern_analysis/src/usefulness.rs
AgeCommit message (Expand)AuthorLines
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-1/+1
2024-09-11Revert warning empty patterns as unreachableNadrieril-1/+5
2024-08-10Stabilize `min_exhaustive_patterns`Nadrieril-12/+7
2024-07-29Reformat `use` declarations.Nicholas Nethercote-7/+8
2024-07-24Explain why a given pattern is considered unreachableNadrieril-48/+145
2024-07-20Expand or-patterns as a separate stepNadrieril-106/+74
2024-05-02Stabilize exclusive_rangeRoss Smyth-1/+0
2024-04-30Remove `extern crate tracing` from numerous crates.Nicholas Nethercote-6/+5
2024-04-01Fix union handling in exhaustivenessNadrieril-6/+29
2024-03-31Improve debugging experienceNadrieril-4/+10
2024-03-19Report arm intersectionsNadrieril-4/+21
2024-03-13Rename `TypeCx` -> `PatCx`Nadrieril-37/+37
2024-03-13Rename `ValidityConstraint` -> `PlaceValidity`Nadrieril-18/+10
2024-03-11Store field indices in `DeconstructedPat` to avoid virtual wildcardsNadrieril-7/+10
2024-03-09Lint small gaps between rangesNadrieril-4/+42
2024-03-09Make `MaybeInfiniteInt::plus_one/minus_one` fallibleNadrieril-1/+1
2024-03-04Abort on arity mismatchNadrieril-7/+15
2024-03-03Add new `pattern_complexity` attribute to add possibility to limit and check ...Guillaume Gomez-1/+23
2024-02-28Rename `Skip` to `PrivateUninhabited`Nadrieril-9/+9
2024-02-28Don't filter out skipped fieldsNadrieril-5/+22
2024-02-28Push the decision to skip fields further downNadrieril-2/+4
2024-02-25Rollup merge of #121324 - Nadrieril:unspecialize, r=cjgillotMatthias Krüger-15/+21
2024-02-20Auto merge of #120692 - Nadrieril:move-column-analysis-to-placeinfo, r=compil...bors-74/+90
2024-02-20Factor out unspecializationNadrieril-15/+21
2024-02-12Auto merge of #120324 - Nadrieril:remove-interior-mutability, r=compiler-errorsbors-30/+61
2024-02-08Move constructor selection logic to `PlaceInfo`Nadrieril-56/+79
2024-02-08Decide which constructors to report earlier.Nadrieril-19/+17
2024-02-08Tweak how we record missing constructorsNadrieril-21/+16
2024-02-07Prefer "0..MAX not covered" to "_ not covered"Nadrieril-5/+3
2024-02-07Use a unique id instead of by-address indexingNadrieril-34/+10
2024-02-07Cleanup comments and dead codeNadrieril-9/+5
2024-02-07Track redundant subpatterns without interior mutabilityNadrieril-21/+55
2024-02-07Move usefulness-specific pattern computations to `usefulness`Nadrieril-6/+31
2024-02-07Rollup merge of #120633 - Nadrieril:place_info, r=compiler-errorsGuillaume Boisseau-40/+57
2024-02-06Rollup merge of #120331 - Nadrieril:no-arena, r=compiler-errorsMatthias Krüger-2/+2
2024-02-06Track `is_top_level` via `PlaceInfo`Nadrieril-10/+14
2024-02-06Zip together `place_ty` and `place_validity`Nadrieril-33/+46
2024-02-05Auto merge of #120313 - Nadrieril:graceful-error, r=compiler-errorsbors-4/+4
2024-02-03Rollup merge of #120516 - Nadrieril:cleanup-impls, r=compiler-errorsMatthias Krüger-12/+2
2024-01-31Use a `Vec` instead of a slice in `DeconstructedPat`Nadrieril-2/+2
2024-01-31Gracefully abort on type incompatibilityNadrieril-4/+4
2024-01-31Manual `Debug` impls are not needed since `TypeCx: Debug`Nadrieril-12/+2
2024-01-30Separate `PlaceCtxt` from `UsefulnessCtxt`Nadrieril-8/+8
2024-01-30Repurpose `MatchCtxt` for usefulness onlyNadrieril-6/+20
2024-01-30Limit the use of `PlaceCtxt`Nadrieril-19/+15
2024-01-27Stop using derivative in rustc_pattern_analysisLaurențiu Nicola-12/+46
2024-01-26Rollup merge of #118803 - Nadrieril:min-exhaustive-patterns, r=compiler-errorsMatthias Krüger-9/+17
2024-01-25Implement feature gate logicNadrieril-9/+17
2024-01-24Let `ctor_sub_tys` return any Iterator they wantNadrieril-3/+5
2024-01-20Remove Ty: Copy boundNadrieril-8/+9