Struct rustc_hir::TraitItemRef
source · pub struct TraitItemRef {
pub id: TraitItemId,
pub ident: Ident,
pub kind: AssocItemKind,
pub span: Span,
}
Expand description
A reference from an trait to one of its associated items. This contains the item’s id, naturally, but also the item’s name and some other high-level details (like whether it is an associated type or method, and whether it is public). This allows other passes to find the impl they want without loading the ID (which means fewer edges in the incremental compilation graph).
Fields§
§id: TraitItemId
§ident: Ident
§kind: AssocItemKind
§span: Span
Trait Implementations§
source§impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for TraitItemRef
impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for TraitItemRef
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self
fn allocate_from_iter<'a>(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = Self>
) -> &'a mut [Self] ⓘ
source§impl Debug for TraitItemRef
impl Debug for TraitItemRef
source§impl<__E: Encoder> Encodable<__E> for TraitItemRef
impl<__E: Encoder> Encodable<__E> for TraitItemRef
source§impl<__CTX> HashStable<__CTX> for TraitItemRefwhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for TraitItemRefwhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
Auto Trait Implementations§
impl RefUnwindSafe for TraitItemRef
impl !Send for TraitItemRef
impl !Sync for TraitItemRef
impl Unpin for TraitItemRef
impl UnwindSafe for TraitItemRef
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: 28 bytes