Crate rustc_hir

Source
Expand description

HIR datatypes. See the rustc dev guide for more info.

Re-exports§

pub use lang_items::LangItem;
pub use lang_items::LanguageItems;
pub use hir::*;
pub use hir_id::*;

Modules§

arena 🔒
attrs
Data structures for representing parsed attributes in the Rust compiler. Formerly rustc_attr_data_structures.
def
def_id
def_path_hash_map
definitions
For each definition, we track the following data. A definition here is defined somewhat circularly as “something with a DefId”, but it generally corresponds to things like structs, enums, etc. There are also some rather random cases (like const initializer expressions) that are mostly just leftovers.
diagnostic_items
hir 🔒
hir_id
intravisit
HIR walker for walking the contents of nodes.
lang_items
Defines lang items.
lints
pat_util
stability 🔒
stable_hash_impls 🔒
target 🔒
This module implements some validity checks for attributes. In particular it verifies that #[inline] and #[repr] attributes are attached to items that actually support them and if there are conflicts between multiple such attributes attached to the same item.
version 🔒
weak_lang_items
Validity checking for weak lang items

Macros§

arena_types
This higher-order macro declares a list of types which can be allocated by Arena. Note that all Copy types can be allocated by default and need not be specified here.
find_attr
Finds attributes in sequences of attributes by pattern matching.

Structs§

Arena
ConstStability
Represents the #[rustc_const_unstable] and #[rustc_const_stable] attributes.
DefaultBodyStability
Represents the #[rustc_default_body_unstable] attribute.
PartialConstStability
Excludes const_stable_indirect. This is necessary because when -Zforce-unstable-if-unmarked is set, we need to encode standalone #[rustc_const_stable_indirect] attributes
RustcVersion
Stability
Represents the following attributes:

Enums§

MethodKind
StabilityLevel
The available stability levels.
StableSince
Rust release in which a feature is stabilized.
Target
UnstableReason

Constants§

VERSION_PLACEHOLDER
The version placeholder that recently stabilized features contain inside the since field of the #[stable] attribute.

Traits§

ArenaAllocatable
HashStableContext
Requirements for a StableHashingContext to be used in this crate. This is a hack to allow using the HashStable_Generic derive macro instead of implementing everything in rustc_middle.