about summary refs log tree commit diff
path: root/compiler/rustc_pattern_analysis/src/usefulness.rs
AgeCommit message (Expand)AuthorLines
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
2024-01-19Rollup merge of #119835 - Nadrieril:simplify-empty-logic, r=compiler-errorsMatthias Krüger-35/+22
2024-01-15Remove the unused `overlapping_range_endpoints` VecNadrieril-37/+5
2024-01-15Lint overlapping ranges directly from exhaustivenessNadrieril-11/+5
2024-01-15Simplify empty pattern logic some moreNadrieril-8/+7
2024-01-15Simplify empty pattern logic a bitNadrieril-14/+13
2024-01-15Make all the empty pattern decisions in `usefulness`Nadrieril-5/+13
2024-01-15Simplify use of `ValidityConstraint`Nadrieril-23/+4
2024-01-12rustc_pattern_analysis no longer needs to be passed an arenaNadrieril-9/+9
2024-01-11Only lint ranges that really overlapNadrieril-4/+113
2024-01-11Factor out collection of overlapping rangesNadrieril-1/+10
2024-01-11Track row intersectionsNadrieril-18/+36
2024-01-11Auto merge of #119837 - matthiaskrgr:rollup-l2olpad, r=matthiaskrgrbors-12/+13
2024-01-07Abort analysis on type errorNadrieril-2/+2
2024-01-07Add an error path to the algorithmNadrieril-10/+11
2024-01-07We only need the arity of the subtype list nowNadrieril-9/+7
2024-01-07Use special enum to represent algorithm-generated wildcards in the matrixNadrieril-12/+9
2024-01-06Reuse `ctor_sub_tys` when we have one aroundNadrieril-3/+6
2024-01-06Remove `Matrix.wildcard_row`Nadrieril-18/+24
2024-01-01Statically enforce revealing of opaquesNadrieril-10/+7
2023-12-26Elide more lifetimesMichael Goulet-11/+11
2023-12-26Even moreMichael Goulet-12/+9
2023-12-26Yeet some lifetimesMichael Goulet-28/+28
2023-12-23Rework the explanation of relevancyNadrieril-48/+138
2023-12-23Improve performance on wide matchesNadrieril-29/+115
2023-12-23Clarify the situation with dummy patterns and `PatData`Nadrieril-2/+1
2023-12-23Use `derivative` for better derive boundsNadrieril-12/+9
2023-12-20Reveal opaque types in exhaustiveness checkingNadrieril-15/+5
2023-12-15s/MatchCx/TypeCx/Nadrieril-24/+24
2023-12-15Introduce `MatchCtxt`Nadrieril-29/+23
2023-12-15s/PatCtxt/PlaceCtxt/Nadrieril-18/+18
2023-12-15`pattern_analysis` doesn't need to know what spans areNadrieril-5/+5
2023-12-15Make the crate compile on stableNadrieril-0/+5
2023-12-15Make the `rustc_data_structures` dependency optionalNadrieril-2/+8
2023-12-15Gate rustc-specific code under a featureNadrieril-3/+4
2023-12-15Abstract `MatchCheckCtxt` into a traitNadrieril-90/+87
2023-12-15Disentangle the arena from `MatchCheckCtxt`Nadrieril-57/+71
2023-12-15Remove all matching on `ty.kind()` outside `cx`Nadrieril-4/+3
2023-12-15Split `Single` ctor into more specific variantsNadrieril-6/+3
2023-12-11Fix doc linksNadrieril-5/+6
2023-12-11Fix item visibilitiesNadrieril-11/+7
2023-12-11Move lints to their own moduleNadrieril-297/+10
2023-12-11Gather rustc-specific functions around `MatchCheckCtxt`Nadrieril-56/+19
2023-12-11Extract exhaustiveness into its own crateNadrieril-0/+1646