Enum rustc_type_ir::ty_kind::AliasKind
source · pub enum AliasKind {
Projection,
Inherent,
Opaque,
Weak,
}
Variants§
Projection
A projection <Type as Trait>::AssocType
.
Can get normalized away if monomorphic enough.
Inherent
An associated type in an inherent impl
Opaque
An opaque type (usually from impl Trait
in type aliases or function return types)
Can only be normalized away in RevealAll mode
Weak
A type alias that actually checks its trait bounds. Currently only used if the type alias references opaque types. Can always be normalized away.
Implementations§
Trait Implementations§
source§impl<__D: SpanDecoder> Decodable<__D> for AliasKind
impl<__D: SpanDecoder> Decodable<__D> for AliasKind
source§impl<__E: SpanEncoder> Encodable<__E> for AliasKind
impl<__E: SpanEncoder> Encodable<__E> for AliasKind
source§impl<__CTX> HashStable<__CTX> for AliasKind
impl<__CTX> HashStable<__CTX> for AliasKind
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
source§impl Ord for AliasKind
impl Ord for AliasKind
source§impl PartialEq for AliasKind
impl PartialEq for AliasKind
source§impl PartialOrd for AliasKind
impl PartialOrd for AliasKind
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for AliasKind
impl Eq for AliasKind
impl StructuralPartialEq for AliasKind
Auto Trait Implementations§
impl Freeze for AliasKind
impl RefUnwindSafe for AliasKind
impl Send for AliasKind
impl Sync for AliasKind
impl Unpin for AliasKind
impl UnwindSafe for AliasKind
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
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
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:
Projection
: 0 bytesInherent
: 0 bytesOpaque
: 0 bytesWeak
: 0 bytes