Skip to content

Commit 83ce044

Browse files
Add HAS_TY_ALIAS into TypeFlags
1 parent 61b0cf7 commit 83ce044

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

compiler/rustc_middle/src/ty/flags.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ impl FlagComputation {
156156
}
157157

158158
&ty::TyAlias(_, substs) => {
159-
self.add_flags(TypeFlags::HAS_TY_PROJECTION);
159+
self.add_flags(TypeFlags::HAS_TY_ALIAS);
160160
self.add_substs(substs);
161161
}
162162

compiler/rustc_trait_selection/src/traits/project.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -384,12 +384,16 @@ where
384384

385385
pub(crate) fn needs_normalization<'tcx, T: TypeVisitable<'tcx>>(value: &T, reveal: Reveal) -> bool {
386386
match reveal {
387-
Reveal::UserFacing => value
388-
.has_type_flags(ty::TypeFlags::HAS_TY_PROJECTION | ty::TypeFlags::HAS_CT_PROJECTION),
387+
Reveal::UserFacing => value.has_type_flags(
388+
ty::TypeFlags::HAS_TY_PROJECTION
389+
| ty::TypeFlags::HAS_CT_PROJECTION
390+
| ty::TypeFlags::HAS_TY_ALIAS,
391+
),
389392
Reveal::All => value.has_type_flags(
390393
ty::TypeFlags::HAS_TY_PROJECTION
391394
| ty::TypeFlags::HAS_TY_OPAQUE
392-
| ty::TypeFlags::HAS_CT_PROJECTION,
395+
| ty::TypeFlags::HAS_CT_PROJECTION
396+
| ty::TypeFlags::HAS_TY_ALIAS,
393397
),
394398
}
395399
}

compiler/rustc_type_ir/src/lib.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,8 @@ bitflags! {
230230
/// Could this type be normalized further?
231231
const HAS_PROJECTION = TypeFlags::HAS_TY_PROJECTION.bits
232232
| TypeFlags::HAS_TY_OPAQUE.bits
233-
| TypeFlags::HAS_CT_PROJECTION.bits;
233+
| TypeFlags::HAS_CT_PROJECTION.bits
234+
| TypeFlags::HAS_TY_ALIAS.bits;
234235

235236
/// Is an error type/const reachable?
236237
const HAS_ERROR = 1 << 13;
@@ -255,6 +256,9 @@ bitflags! {
255256

256257
/// Does this value have `InferConst::Fresh`?
257258
const HAS_CT_FRESH = 1 << 19;
259+
260+
/// Does this have `TyAlias`?
261+
const HAS_TY_ALIAS = 1 << 20;
258262
}
259263
}
260264

0 commit comments

Comments
 (0)