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§
source§impl Clone for BinderScopeType
impl Clone for BinderScopeType
source§fn clone(&self) -> BinderScopeType
fn clone(&self) -> BinderScopeType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl 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§
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