Struct rustc_hir::ForeignItemRef
source · pub struct ForeignItemRef {
pub id: ForeignItemId,
pub ident: Ident,
pub span: Span,
}
Expand description
A reference from a foreign block to one of its 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: ForeignItemId
§ident: Ident
§span: Span
Trait Implementations§
source§impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for ForeignItemRef
impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for ForeignItemRef
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 ForeignItemRef
impl Debug for ForeignItemRef
source§impl<__CTX> HashStable<__CTX> for ForeignItemRefwhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for ForeignItemRefwhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
Auto Trait Implementations§
impl RefUnwindSafe for ForeignItemRef
impl !Send for ForeignItemRef
impl !Sync for ForeignItemRef
impl Unpin for ForeignItemRef
impl UnwindSafe for ForeignItemRef
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: 24 bytes