Enum rustc_resolve::late::lifetimes::BinderScopeType
source · [−]enum BinderScopeType {
Normal,
Concatenating,
}
Variants
Normal
Any non-concatenating binder scopes.
Concatenating
Within a syntactic trait ref, there may be multiple poly trait refs that
are nested (under the associated_type_bounds
feature). The binders of
the inner poly trait refs are extended from the outer poly trait refs
and don’t increase the late bound depth. If you had
T: for<'a> Foo<Bar: for<'b> Baz<'a, 'b>>
, then the for<'b>
scope
would be Concatenating
. This also used in trait refs in where clauses
where we have two binders for<> T: for<> Foo
(I’ve intentionally left
out any lifetimes because they aren’t needed to show the two scopes).
The inner for<>
has a scope of Concatenating
.
Trait Implementations
sourceimpl Clone for BinderScopeType
impl Clone for BinderScopeType
sourcefn clone(&self) -> BinderScopeType
fn clone(&self) -> BinderScopeType
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for BinderScopeType
impl Debug for BinderScopeType
impl Copy for BinderScopeType
Auto Trait Implementations
impl RefUnwindSafe for BinderScopeType
impl Send for BinderScopeType
impl Sync for BinderScopeType
impl Unpin for BinderScopeType
impl UnwindSafe for BinderScopeType
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn 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: 1 byte
Size for each variant:
Normal
: 0 bytesConcatenating
: 0 bytes