Struct rustc::hir::HirId
[−]
[src]
pub struct HirId { pub owner: DefIndex, pub local_id: ItemLocalId, }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
A HirId uniquely identifies a node in the HIR of the current crate. It is
composed of the owner
, which is the DefIndex of the directly enclosing
hir::Item, hir::TraitItem, or hir::ImplItem (i.e. the closest "item-like"),
and the local_id
which is unique within the given owner.
This two-level structure makes for more stable values: One can move an item around within the source code, or add or remove stuff before it, without the local_id part of the HirId changing, which is a very useful property in incremental compilation where we have to persist things through changes to the code base.
Fields
owner: DefIndex
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
local_id: ItemLocalId
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl HirId
[src]
impl HirId
pub fn owner_def_id(self) -> DefId
[src]
pub fn owner_def_id(self) -> DefId
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn owner_local_def_id(self) -> LocalDefId
[src]
pub fn owner_local_def_id(self) -> LocalDefId
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Trait Implementations
impl Copy for HirId
[src]
impl Copy for HirId
impl Clone for HirId
[src]
impl Clone for HirId
fn clone(&self) -> HirId
[src]
fn clone(&self) -> HirId
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl PartialEq for HirId
[src]
impl PartialEq for HirId
fn eq(&self, __arg_0: &HirId) -> bool
[src]
fn eq(&self, __arg_0: &HirId) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &HirId) -> bool
[src]
fn ne(&self, __arg_0: &HirId) -> bool
This method tests for !=
.
impl Eq for HirId
[src]
impl Eq for HirId
impl Hash for HirId
[src]
impl Hash for HirId
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl PartialOrd for HirId
[src]
impl PartialOrd for HirId
fn partial_cmp(&self, __arg_0: &HirId) -> Option<Ordering>
[src]
fn partial_cmp(&self, __arg_0: &HirId) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &HirId) -> bool
[src]
fn lt(&self, __arg_0: &HirId) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &HirId) -> bool
[src]
fn le(&self, __arg_0: &HirId) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, __arg_0: &HirId) -> bool
[src]
fn gt(&self, __arg_0: &HirId) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &HirId) -> bool
[src]
fn ge(&self, __arg_0: &HirId) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for HirId
[src]
impl Ord for HirId
fn cmp(&self, __arg_0: &HirId) -> Ordering
[src]
fn cmp(&self, __arg_0: &HirId) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl Debug for HirId
[src]
impl Debug for HirId
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl UseSpecializedEncodable for HirId
[src]
impl UseSpecializedEncodable for HirId
fn default_encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error>
[src]
fn default_encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Defaults to returning an error (see SpecializationError
).
impl UseSpecializedDecodable for HirId
[src]
impl UseSpecializedDecodable for HirId
fn default_decode<D: Decoder>(d: &mut D) -> Result<HirId, D::Error>
[src]
fn default_decode<D: Decoder>(d: &mut D) -> Result<HirId, D::Error>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Defaults to returning an error (see SpecializationError
).
impl<'a> HashStable<StableHashingContext<'a>> for HirId
[src]
impl<'a> HashStable<StableHashingContext<'a>> for HirId
fn hash_stable<W: StableHasherResult>(
&self,
hcx: &mut StableHashingContext<'a>,
hasher: &mut StableHasher<W>
)
[src]
fn hash_stable<W: StableHasherResult>(
&self,
hcx: &mut StableHashingContext<'a>,
hasher: &mut StableHasher<W>
)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a> ToStableHashKey<StableHashingContext<'a>> for HirId
[src]
impl<'a> ToStableHashKey<StableHashingContext<'a>> for HirId
type KeyType = (DefPathHash, ItemLocalId)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn to_stable_hash_key(
&self,
hcx: &StableHashingContext<'a>
) -> (DefPathHash, ItemLocalId)
[src]
fn to_stable_hash_key(
&self,
hcx: &StableHashingContext<'a>
) -> (DefPathHash, ItemLocalId)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?