Struct rustc_symbol_mangling::v0::BinderLevel
source · struct BinderLevel {
lifetime_depths: Range<u32>,
}
Fields§
§lifetime_depths: Range<u32>
The range of distances from the root of what’s
being printed, to the lifetimes in a binder.
Specifically, a BrAnon
lifetime has depth
lifetime_depths.start + index
, going away from the
the root and towards its use site, as the var index increases.
This is used to flatten rustc’s pairing of BrAnon
(intra-binder disambiguation) with a DebruijnIndex
(binder addressing), to “true” de Bruijn indices,
by subtracting the depth of a certain lifetime, from
the innermost depth at its use site.
Auto Trait Implementations§
impl RefUnwindSafe for BinderLevel
impl Send for BinderLevel
impl Sync for BinderLevel
impl Unpin for BinderLevel
impl UnwindSafe for BinderLevel
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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: 8 bytes