@@ -423,57 +423,54 @@ pub struct CReaderCacheKey {
423423bitflags ! {
424424 pub struct TypeFlags : u32 {
425425 const HAS_PARAMS = 1 << 0 ;
426- const HAS_SELF = 1 << 1 ;
427- const HAS_TY_INFER = 1 << 2 ;
428- const HAS_RE_INFER = 1 << 3 ;
429- const HAS_RE_SKOL = 1 << 4 ;
426+ const HAS_TY_INFER = 1 << 1 ;
427+ const HAS_RE_INFER = 1 << 2 ;
428+ const HAS_RE_SKOL = 1 << 3 ;
430429
431430 /// Does this have any `ReEarlyBound` regions? Used to
432431 /// determine whether substitition is required, since those
433432 /// represent regions that are bound in a `ty::Generics` and
434433 /// hence may be substituted.
435- const HAS_RE_EARLY_BOUND = 1 << 5 ;
434+ const HAS_RE_EARLY_BOUND = 1 << 4 ;
436435
437436 /// Does this have any region that "appears free" in the type?
438437 /// Basically anything but `ReLateBound` and `ReErased`.
439- const HAS_FREE_REGIONS = 1 << 6 ;
438+ const HAS_FREE_REGIONS = 1 << 5 ;
440439
441440 /// Is an error type reachable?
442- const HAS_TY_ERR = 1 << 7 ;
443- const HAS_PROJECTION = 1 << 8 ;
441+ const HAS_TY_ERR = 1 << 6 ;
442+ const HAS_PROJECTION = 1 << 7 ;
444443
445444 // FIXME: Rename this to the actual property since it's used for generators too
446- const HAS_TY_CLOSURE = 1 << 9 ;
445+ const HAS_TY_CLOSURE = 1 << 8 ;
447446
448447 // true if there are "names" of types and regions and so forth
449448 // that are local to a particular fn
450- const HAS_FREE_LOCAL_NAMES = 1 << 10 ;
449+ const HAS_FREE_LOCAL_NAMES = 1 << 9 ;
451450
452451 // Present if the type belongs in a local type context.
453452 // Only set for Infer other than Fresh.
454- const KEEP_IN_LOCAL_TCX = 1 << 11 ;
453+ const KEEP_IN_LOCAL_TCX = 1 << 10 ;
455454
456455 // Is there a projection that does not involve a bound region?
457456 // Currently we can't normalize projections w/ bound regions.
458- const HAS_NORMALIZABLE_PROJECTION = 1 << 12 ;
457+ const HAS_NORMALIZABLE_PROJECTION = 1 << 11 ;
459458
460459 // Set if this includes a "canonical" type or region var --
461460 // ought to be true only for the results of canonicalization.
462- const HAS_CANONICAL_VARS = 1 << 13 ;
461+ const HAS_CANONICAL_VARS = 1 << 12 ;
463462
464463 /// Does this have any `ReLateBound` regions? Used to check
465464 /// if a global bound is safe to evaluate.
466- const HAS_RE_LATE_BOUND = 1 << 14 ;
465+ const HAS_RE_LATE_BOUND = 1 << 13 ;
467466
468467 const NEEDS_SUBST = TypeFlags :: HAS_PARAMS . bits |
469- TypeFlags :: HAS_SELF . bits |
470468 TypeFlags :: HAS_RE_EARLY_BOUND . bits;
471469
472470 // Flags representing the nominal content of a type,
473471 // computed by FlagsComputation. If you add a new nominal
474472 // flag, it should be added here too.
475473 const NOMINAL_FLAGS = TypeFlags :: HAS_PARAMS . bits |
476- TypeFlags :: HAS_SELF . bits |
477474 TypeFlags :: HAS_TY_INFER . bits |
478475 TypeFlags :: HAS_RE_INFER . bits |
479476 TypeFlags :: HAS_RE_SKOL . bits |
@@ -1632,7 +1629,6 @@ impl<'tcx> ParamEnv<'tcx> {
16321629 if value. has_skol ( )
16331630 || value. needs_infer ( )
16341631 || value. has_param_types ( )
1635- || value. has_self_ty ( )
16361632 {
16371633 ParamEnvAnd {
16381634 param_env : self ,
0 commit comments