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 Clone for ForeignItemRef
impl Clone for ForeignItemRef
source§fn clone(&self) -> ForeignItemRef
fn clone(&self) -> ForeignItemRef
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§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)
impl Copy for ForeignItemRef
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§
source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere T: Copy,
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = T> ) -> &'a mut [T]
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
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