Skip to main content

rustc_hir/
lib.rs

1//! HIR datatypes. See the [rustc dev guide] for more info.
2//!
3//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/hir.html
4
5// tidy-alphabetical-start
6#![cfg_attr(bootstrap, feature(never_type))]
7#![feature(associated_type_defaults)]
8#![feature(closure_track_caller)]
9#![feature(const_default)]
10#![feature(const_trait_impl)]
11#![feature(default_field_values)]
12#![feature(derive_const)]
13#![feature(exhaustive_patterns)]
14#![feature(final_associated_functions)]
15#![recursion_limit = "256"]
16// tidy-alphabetical-end
17
18mod arena;
19pub mod def;
20mod hir;
21pub mod intravisit;
22pub mod lints;
23pub mod pat_util;
24mod stable_hash_impls;
25mod target_impls;
26
27#[doc(no_inline)]
28pub use hir::*;
29pub use rustc_attr_ir::{self as attrs, find_attr};
30pub use rustc_hir_id::*;
31pub use rustc_span::def_id;
32// FIXME: Remove this use tree, replace by `rustc_hir::attrs` or `rustc_attr_ir` imports
33#[doc(hidden)]
34pub use {
35    attrs::target::{self, AssocCtxt, MethodKind, Target},
36    attrs::{
37        AttrArgs, AttrItem, AttrPath, Attribute, ConstStability, DefaultBodyStability,
38        HashIgnoredAttrId, PartialConstStability, Stability, StabilityLevel, StableSince,
39        UnstableReason, VERSION_PLACEHOLDER,
40    },
41};
42
43pub use crate::arena::Arena;