Struct rustc_hir::ImplItemRef
source · pub struct ImplItemRef {
pub id: ImplItemId,
pub ident: Ident,
pub kind: AssocItemKind,
pub span: Span,
pub trait_item_def_id: Option<DefId>,
}
Expand description
A reference from an impl 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: ImplItemId
§ident: Ident
§kind: AssocItemKind
§span: Span
§trait_item_def_id: Option<DefId>
When we are in a trait impl, link to the trait-item’s id.
Trait Implementations§
source§impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for ImplItemRef
impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for ImplItemRef
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 ImplItemRef
impl Debug for ImplItemRef
source§impl<__CTX> HashStable<__CTX> for ImplItemRefwhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for ImplItemRefwhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
Auto Trait Implementations§
impl RefUnwindSafe for ImplItemRef
impl !Send for ImplItemRef
impl !Sync for ImplItemRef
impl Unpin for ImplItemRef
impl UnwindSafe for ImplItemRef
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: 36 bytes