Enum rustc_type_ir::sty::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.
Trait Implementations§
source§impl<__CTX> HashStable<__CTX> for AliasKindwhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for AliasKindwhere __CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
source§impl Ord for AliasKind
impl Ord for AliasKind
source§impl PartialEq<AliasKind> for AliasKind
impl PartialEq<AliasKind> for AliasKind
source§impl PartialOrd<AliasKind> for AliasKind
impl PartialOrd<AliasKind> 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 StructuralEq for AliasKind
impl StructuralPartialEq for AliasKind
Auto Trait Implementations§
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
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