Struct rustc_middle::ty::fold::LateBoundRegionsCollector [−][src]
struct LateBoundRegionsCollector<'tcx> {
tcx: TyCtxt<'tcx>,
current_index: DebruijnIndex,
regions: FxHashSet<BoundRegionKind>,
just_constrained: bool,
}
Expand description
Collects all the late-bound regions at the innermost binding level into a hash set.
Fields
tcx: TyCtxt<'tcx>
current_index: DebruijnIndex
regions: FxHashSet<BoundRegionKind>
just_constrained: bool
true
if we only want regions that are known to be
“constrained” when you equate this type with another type. In
particular, if you have e.g., &'a u32
and &'b u32
, equating
them constraints 'a == 'b
. But if you have <&'a u32 as Trait>::Foo
and <&'b u32 as Trait>::Foo
, normalizing those
types may mean that 'a
and 'b
don’t appear in the results,
so they are not considered constrained.
Implementations
Trait Implementations
Supplies the tcx
for an unevaluated anonymous constant in case its default substs
are not yet supplied. Read more
fn visit_binder<T: TypeFoldable<'tcx>>(
&mut self,
t: &Binder<'tcx, T>
) -> ControlFlow<Self::BreakTy>
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for LateBoundRegionsCollector<'tcx>
impl<'tcx> !Send for LateBoundRegionsCollector<'tcx>
impl<'tcx> !Sync for LateBoundRegionsCollector<'tcx>
impl<'tcx> Unpin for LateBoundRegionsCollector<'tcx>
impl<'tcx> !UnwindSafe for LateBoundRegionsCollector<'tcx>
Blanket Implementations
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes