summary refs log tree commit diff
path: root/compiler/rustc_mir_build/src/thir/pattern/usefulness.rs
AgeCommit message (Expand)AuthorLines
2022-05-20Remove `crate` visibility usage in compilerJacob Pratt-15/+15
2022-05-02fix most compiler/ doctestsElliot Roberts-13/+24
2022-04-02do use ty::Const in patterns and abstract constsb-naber-5/+8
2022-03-30Spellchecking compiler commentsYuri Astrakhan-3/+3
2022-03-11Improve `AdtDef` interning.Nicholas Nethercote-1/+1
2021-11-23Fix stack overflow in `usefulness.rs`Badel2-4/+7
2021-11-12Auto merge of #90813 - notriddle:notriddle/vec-extend, r=GuillaumeGomezbors-3/+1
2021-11-11Use `Vec::extend`, instead of calling `Vec::push` in a loopMichael Howell-3/+1
2021-11-09Change the `assert` in `is_useful` to a `debug_assert`.Nicholas Nethercote-1/+1
2021-10-12Filter unstable and doc hidden variants in usefulness checkingDevin Ragotzy-6/+26
2021-10-01Normalize after substituting via `field.ty()`Nadrieril-2/+1
2021-09-26Trivialize tracking of unreachable subpatternsNadrieril-278/+35
2021-09-26Avoid double-deref in `Fields`Nadrieril-2/+1
2021-09-26Replace `Pat` with a new intermediate representationNadrieril-161/+64
2021-09-26Remove dependency of `SubPatSet` on `Pat`Nadrieril-27/+23
2021-09-26Move special `&str` handling to `Constructor` and `Fields`Nadrieril-18/+4
2021-09-26Rework `Fields` internals.Nadrieril-10/+18
2021-09-26A for loop is a lot faster apparentlyNadrieril-29/+9
2021-09-26Remove premature shortcuttingNadrieril-26/+12
2021-09-14Add reachable_patterns lint to rfc-2008-non_exhaustiveDevin Ragotzy-33/+121
2021-08-22Fix more “a”/“an” typosFrank Steffahn-1/+1
2021-05-22Make THIR building a stealable queryLeSeulArtichaut-1/+1
2021-05-22Move THIR structure definitions to `rustc_middle`LeSeulArtichaut-28/+26
2021-02-22Auto merge of #81978 - tmiasko:head-ctor, r=Mark-Simulacrumbors-0/+1
2021-02-18Inline hot part of PatStack::head_ctorTomasz Miąsko-0/+1
2021-02-15Use !Sync std::lazy::OnceCell in usefulness checkingTomasz Miąsko-1/+1
2021-02-13Use debug log level for developer oriented logsTomasz Miąsko-1/+4
2021-02-01Make `SubPatSet` clearer by flipping its meaningNadrieril-94/+119
2021-01-24Specialized `Usefulness` variants are redundantNadrieril-39/+19
2021-01-24Identify subpatterns by the path to them instead of spansNadrieril-107/+234
2021-01-24Factor or-pattern expansionNadrieril-24/+36
2021-01-24Split `Usefulness::NotUseful` into twoNadrieril-32/+52
2021-01-24Reimplement `Usefulness::merge` in terms of a binopNadrieril-39/+24
2021-01-24Don't expose `Usefulness` in the apiNadrieril-3/+16
2021-01-24Improve the debugging experienceNadrieril-23/+30
2021-01-14Use Option::map_or instead of `.map(..).unwrap_or(..)`LingMan-1/+1
2020-12-22Fix a commentNadrieril-4/+4
2020-12-22Apply suggestions from code reviewNadrieril-9/+10
2020-12-22Simplify field filteringNadrieril-1/+1
2020-12-22Make the special "missing patterns" constructor realNadrieril-2/+11
2020-12-22Completely rework the explanation of the algorithmNadrieril-234/+211
2020-12-22Pass `Matrix` explicitly instead of via `PatCtxt`Nadrieril-10/+16
2020-12-22Rebrand `MissingConstructors` as `SplitWildcard`Nadrieril-3/+4
2020-12-22Run the annoying lint separatelyNadrieril-2/+7
2020-12-18Unify the two kinds of usefulness mergingNadrieril-63/+35
2020-12-18Merge unreachable subpatterns correctlyNadrieril-3/+28
2020-12-18Keep all witnesses of non-exhaustivenessNadrieril-27/+37
2020-12-18Rewrite usefulness merging using `SpanSet`Nadrieril-64/+113
2020-12-18Log the output of `is_useful` in the or-pattern case tooNadrieril-25/+31
2020-12-18Factor out or-pattern usefulness mergingNadrieril-72/+81