@@ -554,24 +554,26 @@ bitflags! {
554
554
/// Does this have [ConstKind::Placeholder]?
555
555
const HAS_CT_PLACEHOLDER = 1 << 8 ;
556
556
557
+ /// `true` if there are "names" of regions and so forth
558
+ /// that are local to a particular fn/inferctxt
559
+ const HAS_FREE_LOCAL_REGIONS = 1 << 9 ;
560
+
557
561
/// `true` if there are "names" of types and regions and so forth
558
562
/// that are local to a particular fn
559
563
const HAS_FREE_LOCAL_NAMES = TypeFlags :: HAS_TY_PARAM . bits
560
- | TypeFlags :: HAS_RE_PARAM . bits
561
564
| TypeFlags :: HAS_CT_PARAM . bits
562
565
| TypeFlags :: HAS_TY_INFER . bits
563
- | TypeFlags :: HAS_RE_INFER . bits
564
566
| TypeFlags :: HAS_CT_INFER . bits
565
567
| TypeFlags :: HAS_TY_PLACEHOLDER . bits
566
- | TypeFlags :: HAS_RE_PLACEHOLDER . bits
567
- | TypeFlags :: HAS_CT_PLACEHOLDER . bits;
568
+ | TypeFlags :: HAS_CT_PLACEHOLDER . bits
569
+ | TypeFlags :: HAS_FREE_LOCAL_REGIONS . bits;
568
570
569
571
/// Does this have [Projection] or [UnnormalizedProjection]?
570
- const HAS_TY_PROJECTION = 1 << 9 ;
572
+ const HAS_TY_PROJECTION = 1 << 10 ;
571
573
/// Does this have [Opaque]?
572
- const HAS_TY_OPAQUE = 1 << 10 ;
574
+ const HAS_TY_OPAQUE = 1 << 11 ;
573
575
/// Does this have [ConstKind::Unevaluated]?
574
- const HAS_CT_PROJECTION = 1 << 11 ;
576
+ const HAS_CT_PROJECTION = 1 << 12 ;
575
577
576
578
/// Could this type be normalized further?
577
579
const HAS_PROJECTION = TypeFlags :: HAS_TY_PROJECTION . bits
@@ -580,21 +582,21 @@ bitflags! {
580
582
581
583
/// Present if the type belongs in a local type context.
582
584
/// Set for placeholders and inference variables that are not "Fresh".
583
- const KEEP_IN_LOCAL_TCX = 1 << 12 ;
585
+ const KEEP_IN_LOCAL_TCX = 1 << 13 ;
584
586
585
587
/// Is an error type reachable?
586
- const HAS_TY_ERR = 1 << 13 ;
588
+ const HAS_TY_ERR = 1 << 14 ;
587
589
588
590
/// Does this have any region that "appears free" in the type?
589
591
/// Basically anything but [ReLateBound] and [ReErased].
590
- const HAS_FREE_REGIONS = 1 << 14 ;
592
+ const HAS_FREE_REGIONS = 1 << 15 ;
591
593
592
594
/// Does this have any [ReLateBound] regions? Used to check
593
595
/// if a global bound is safe to evaluate.
594
- const HAS_RE_LATE_BOUND = 1 << 15 ;
596
+ const HAS_RE_LATE_BOUND = 1 << 16 ;
595
597
596
598
/// Does this have any [ReErased] regions?
597
- const HAS_RE_ERASED = 1 << 16 ;
599
+ const HAS_RE_ERASED = 1 << 17 ;
598
600
599
601
/// Flags representing the nominal content of a type,
600
602
/// computed by FlagsComputation. If you add a new nominal
@@ -608,6 +610,7 @@ bitflags! {
608
610
| TypeFlags :: HAS_TY_PLACEHOLDER . bits
609
611
| TypeFlags :: HAS_RE_PLACEHOLDER . bits
610
612
| TypeFlags :: HAS_CT_PLACEHOLDER . bits
613
+ | TypeFlags :: HAS_FREE_LOCAL_REGIONS . bits
611
614
| TypeFlags :: HAS_TY_PROJECTION . bits
612
615
| TypeFlags :: HAS_TY_OPAQUE . bits
613
616
| TypeFlags :: HAS_CT_PROJECTION . bits
0 commit comments