Struct rustc::ty::fold::LateBoundRegionsCollector [−][src]
struct LateBoundRegionsCollector { current_index: DebruijnIndex, regions: FxHashSet<BoundRegion>, just_constrained: bool, }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Collects all the late-bound regions at the innermost binding level into a hash set.
Fields
current_index: DebruijnIndex
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
regions: FxHashSet<BoundRegion>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
just_constrained: bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
If true, we only want regions that are known to be
"constrained" when you equate this type with another type. In
partcular, 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.
Methods
impl LateBoundRegionsCollector
[src]
impl LateBoundRegionsCollector
fn new(just_constrained: bool) -> Self
[src]
fn new(just_constrained: bool) -> Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Trait Implementations
impl<'tcx> TypeVisitor<'tcx> for LateBoundRegionsCollector
[src]
impl<'tcx> TypeVisitor<'tcx> for LateBoundRegionsCollector
fn visit_binder<T: TypeFoldable<'tcx>>(&mut self, t: &Binder<T>) -> bool
[src]
fn visit_binder<T: TypeFoldable<'tcx>>(&mut self, t: &Binder<T>) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn visit_ty(&mut self, t: Ty<'tcx>) -> bool
[src]
fn visit_ty(&mut self, t: Ty<'tcx>) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn visit_region(&mut self, r: Region<'tcx>) -> bool
[src]
fn visit_region(&mut self, r: Region<'tcx>) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn visit_const(&mut self, c: &'tcx Const<'tcx>) -> bool
[src]
fn visit_const(&mut self, c: &'tcx Const<'tcx>) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Auto Trait Implementations
impl !Send for LateBoundRegionsCollector
impl !Send for LateBoundRegionsCollector
impl !Sync for LateBoundRegionsCollector
impl !Sync for LateBoundRegionsCollector