Skip to content

Commit 165e460

Browse files
committed
Remove HAS_NORMALIZABLE_PROJECTION
1 parent 6b152f8 commit 165e460

File tree

2 files changed

+8
-17
lines changed

2 files changed

+8
-17
lines changed

src/librustc/ty/flags.rs

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::ty::subst::{SubstsRef, UnpackedKind};
2-
use crate::ty::{self, Ty, TypeFlags, TypeFoldable, InferConst};
2+
use crate::ty::{self, Ty, TypeFlags, InferConst};
33
use crate::mir::interpret::ConstValue;
44

55
#[derive(Debug)]
@@ -139,11 +139,6 @@ impl FlagComputation {
139139
}
140140

141141
&ty::Projection(ref data) => {
142-
// currently we can't normalize projections that
143-
// include bound regions, so track those separately.
144-
if !data.has_escaping_bound_vars() {
145-
self.add_flags(TypeFlags::HAS_NORMALIZABLE_PROJECTION);
146-
}
147142
self.add_flags(TypeFlags::HAS_PROJECTION);
148143
self.add_projection_ty(data);
149144
}
@@ -239,7 +234,7 @@ impl FlagComputation {
239234
match c.val {
240235
ConstValue::Unevaluated(_, substs) => {
241236
self.add_substs(substs);
242-
self.add_flags(TypeFlags::HAS_NORMALIZABLE_PROJECTION | TypeFlags::HAS_PROJECTION);
237+
self.add_flags(TypeFlags::HAS_PROJECTION);
243238
},
244239
ConstValue::Infer(infer) => {
245240
self.add_flags(TypeFlags::HAS_FREE_LOCAL_NAMES | TypeFlags::HAS_CT_INFER);

src/librustc/ty/mod.rs

+6-10
Original file line numberDiff line numberDiff line change
@@ -441,20 +441,16 @@ bitflags! {
441441

442442
/// Present if the type belongs in a local type context.
443443
/// Only set for Infer other than Fresh.
444-
const KEEP_IN_LOCAL_TCX = 1 << 11;
445-
446-
// Is there a projection that does not involve a bound region?
447-
// Currently we can't normalize projections w/ bound regions.
448-
const HAS_NORMALIZABLE_PROJECTION = 1 << 12;
444+
const KEEP_IN_LOCAL_TCX = 1 << 10;
449445

450446
/// Does this have any `ReLateBound` regions? Used to check
451447
/// if a global bound is safe to evaluate.
452-
const HAS_RE_LATE_BOUND = 1 << 13;
448+
const HAS_RE_LATE_BOUND = 1 << 11;
453449

454-
const HAS_TY_PLACEHOLDER = 1 << 14;
450+
const HAS_TY_PLACEHOLDER = 1 << 12;
455451

456-
const HAS_CT_INFER = 1 << 15;
457-
const HAS_CT_PLACEHOLDER = 1 << 16;
452+
const HAS_CT_INFER = 1 << 13;
453+
const HAS_CT_PLACEHOLDER = 1 << 14;
458454

459455
const NEEDS_SUBST = TypeFlags::HAS_PARAMS.bits |
460456
TypeFlags::HAS_RE_EARLY_BOUND.bits;
@@ -465,7 +461,6 @@ bitflags! {
465461
const NOMINAL_FLAGS = TypeFlags::HAS_PARAMS.bits |
466462
TypeFlags::HAS_TY_INFER.bits |
467463
TypeFlags::HAS_RE_INFER.bits |
468-
TypeFlags::HAS_CT_INFER.bits |
469464
TypeFlags::HAS_RE_PLACEHOLDER.bits |
470465
TypeFlags::HAS_RE_EARLY_BOUND.bits |
471466
TypeFlags::HAS_FREE_REGIONS.bits |
@@ -476,6 +471,7 @@ bitflags! {
476471
TypeFlags::KEEP_IN_LOCAL_TCX.bits |
477472
TypeFlags::HAS_RE_LATE_BOUND.bits |
478473
TypeFlags::HAS_TY_PLACEHOLDER.bits |
474+
TypeFlags::HAS_CT_INFER.bits |
479475
TypeFlags::HAS_CT_PLACEHOLDER.bits;
480476
}
481477
}

0 commit comments

Comments
 (0)