Enum rustc_resolve::late::lifetimes::BinderScopeType [−][src]
enum BinderScopeType {
Normal,
Concatenating,
}
Variants
Any non-concatenating binder scopes.
Within a syntactic trait ref, there may be multiple poly trait refs that
are nested (under the associcated_type_bounds
feature). The binders of
the innner 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
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
Mutably borrows from an owned value. Read more
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