about summary refs log tree commit diff
path: root/src/librustc_middle/ty/flags.rs
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-330/+0
2020-08-09instance: only polymorphize upvar substsDavid Wood-6/+0
This commit restricts the substitution polymorphization added in #75255 to only apply to the tupled upvar substitution, rather than all substitutions, fixing a bunch of regressions when polymorphization is enabled. Signed-off-by: David Wood <david@davidtw.co>
2020-08-07instance: polymorphize `FnDef` substsDavid Wood-0/+2
This commit extends previous polymorphization of substs to polymorphize `FnDef`. Signed-off-by: David Wood <david@davidtw.co>
2020-08-07ty: add `MAY_POLYMORPHIZE` flagDavid Wood-0/+4
This commit adds a `MAY_POLYMORPHIZE` which checks for closures and generators so that polymorphization of substs does not need to traverse every substs. Signed-off-by: David Wood <david@davidtw.co>
2020-07-27directly contain `PredicateAtom` in `PredicateKind::ForAll`Bastian Kauschke-41/+40
2020-07-27introduce PredicateAtomBastian Kauschke-33/+35
2020-07-27add reuse_or_mk_predicateBastian Kauschke-2/+2
2020-07-27`PredicateKint` -> `PredicateKind`, the beginning of the endBastian Kauschke-32/+25
2020-07-20ty: `STILL_FURTHER_SPECIALIZABLE` w/out prnt substDavid Wood-2/+24
This commit modifies the `STILL_FURTHER_SPECIALIZABLE` flag so that the flag isn't set by the parent substs of closures or generators. Signed-off-by: David Wood <david@davidtw.co>
2020-06-30change `skip_binder` to use T by valueBastian Kauschke-6/+6
2020-06-21Cache flags and escaping vars for predicatesMatthew Jasper-9/+73
Also hash predicates by address
2020-06-20Don't set STILL_FURTHER_SPECIALIZABLE for regions/bound variablesMatthew Jasper-2/+0
2020-06-15make all uses of ty::Error or ConstKind::Error delay a span bugmark-2/+2
2020-05-23iterate List by valueBastian Kauschke-1/+1
2020-05-12Remove ty::UnnormalizedProjectionJack Huey-5/+0
2020-04-16ty: add `ty::ConstKind::Error` to replace `tcx.consts.err`.Eduard-Mihai Burtescu-8/+2
2020-04-08replace `has_local_value` with `needs_infer`Bastian Kauschke-6/+2
2020-04-08don't set `HAS_INFER` for fresh typesBastian Kauschke-3/+5
2020-04-07Remove unnecessary TypeFlags::NOMINAL_FLAGSTheo Sandstrom-1/+1
This was a relic from when we had "nominal flags" and "cached properties." The latter no longer exists, so nominal flags are no longer necessary. In fact, every flag is considered a nominal flag. I went ahead and removed all references to NOMINAL_FLAGS. Fixes rust-lang#70836
2020-04-02add `STILL_FURTHER_SPECIALIZABLE` flagDavid Wood-3/+13
This commit adds a STILL_FURTHER_SPECIALIZABLE flag to `TypeFlags` which replaces `needs_infer` and `needs_subst` in `Instance::resolve` and `assemble_candidates_from_impls.` Signed-off-by: David Wood <david@davidtw.co>
2020-03-30rustc -> rustc_middle part 1Mazdak Farrokhzad-0/+255