Use invalid local id for zeroth node parent.
This commit is contained in:
parent
6b7995195a
commit
c5628a5e65
3 changed files with 11 additions and 2 deletions
|
@ -696,7 +696,9 @@ pub struct OwnerNodes<'tcx> {
|
|||
/// Pre-computed hash of the item signature, sithout recursing into the body.
|
||||
pub hash_without_bodies: Fingerprint,
|
||||
/// Full HIR for the current owner.
|
||||
// The zeroth node's parent is trash, but is never accessed.
|
||||
// The zeroth node's parent should never be accessed: the owner's parent is computed by the
|
||||
// hir_owner_parent query. It is set to `ItemLocalId::INVALID` to force an ICE if accidentally
|
||||
// used.
|
||||
pub nodes: IndexVec<ItemLocalId, Option<ParentedNode<'tcx>>>,
|
||||
/// Content of local bodies.
|
||||
pub bodies: IndexVec<ItemLocalId, Option<&'tcx Body<'tcx>>>,
|
||||
|
|
|
@ -56,6 +56,10 @@ rustc_index::newtype_index! {
|
|||
pub struct ItemLocalId { .. }
|
||||
}
|
||||
rustc_data_structures::impl_stable_hash_via_hash!(ItemLocalId);
|
||||
impl ItemLocalId {
|
||||
/// Signal local id which should never be used.
|
||||
pub const INVALID: ItemLocalId = ItemLocalId::MAX;
|
||||
}
|
||||
|
||||
/// The `HirId` corresponding to `CRATE_NODE_ID` and `CRATE_DEF_INDEX`.
|
||||
pub const CRATE_HIR_ID: HirId = HirId {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue