Expand description
HIR datatypes. See the rustc dev guide for more info.
Re-exportsΒ§
use rustc_attr_ir::Attribute;πuse rustc_attr_ir::lang_items::LangItem;πuse rustc_data_structures::fingerprint::Fingerprint;πuse rustc_data_structures::sorted_map::SortedMap;πuse rustc_data_structures::stable_hash::StableHash;πuse rustc_data_structures::stable_hash::StableHasher;πuse rustc_data_structures::steal::Steal;πuse rustc_data_structures::sync::DynSend;πuse rustc_data_structures::sync::DynSync;πuse rustc_data_structures::sync::try_par_for_each_in;πuse rustc_hir::def::DefKind;πuse rustc_hir::def::Res;πuse rustc_hir::def_id::DefId;πuse rustc_hir::def_id::LocalDefId;πuse rustc_hir::def_id::LocalDefIdMap;πuse rustc_hir::def_id::LocalModId;πuse rustc_hir::lints::DelayedLints;πuse rustc_macros::Decodable;πuse rustc_macros::Encodable;πuse rustc_macros::StableHash;πuse rustc_span::ErrorGuaranteed;πuse rustc_span::ExpnId;πuse rustc_span::Span;πuse rustc_span::bug;πuse rustc_span::span_bug;πuse crate::query::Providers;πuse crate::ty::TyCtxt;πuse rustc_hir::*;π
ModulesΒ§
- map
- This module used to contain a type called
Map. That type has since been eliminated, and all its methods are now onTyCtxt. But the module name stays asmapbecause there isnβt an obviously better name for it. - nested_
filter - place
StructsΒ§
- Hashes
- Hashes computed by
TyCtxt::hash_owner_nodesif necessary. - Module
Items - Gather the LocalDefId for each item-like within a module, including items contained within bodies. The Ids are in visitor order. This is used to partition a pass between modules.
- Projected
Owner Info - Unites some of
OwnerInfoβs fields into same struct that is used byhir_ownerquery.AttributeMapis handled separately as placing it in this struct led to perf regressions: https://github.com/rust-lang/rust/pull/155678#issuecomment-4304597871. This struct is created mainly for uniting/splitting fields ofOwnerInfoso they are stored/invalidated together in incremental compilation. For comments about each field seeOwnerInfostruct.