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#![feature(associated_type_defaults)]
7#![feature(closure_track_caller)]
8#![feature(const_default)]
9#![feature(const_trait_impl)]
10#![feature(default_field_values)]
11#![feature(derive_const)]
12#![feature(exhaustive_patterns)]
13#![feature(never_type)]
14#![recursion_limit = "256"]
15// tidy-alphabetical-end
16
17mod arena;
18pub mod def;
19pub mod def_path_hash_map;
20pub mod definitions;
21mod hir;
22pub mod intravisit;
23pub mod lints;
24pub mod pat_util;
25mod stable_hash_impls;
26mod target_impls;
27
28#[cfg(test)]
29mod tests;
30
31#[doc(no_inline)]
32pub use hir::*;
33pub use rustc_attr_ir::{self as attrs, find_attr};
34pub use rustc_hir_id::*;
35pub use rustc_span::def_id;
36// FIXME: Remove this use tree, replace by `rustc_hir::attrs` or `rustc_attr_ir` imports
37#[doc(hidden)]
38pub use {
39    attrs::target::{self, MethodKind, Target},
40    attrs::{
41        AttrArgs, AttrItem, AttrPath, Attribute, ConstStability, DefaultBodyStability,
42        HashIgnoredAttrId, PartialConstStability, Stability, StabilityLevel, StableSince,
43        UnstableReason, VERSION_PLACEHOLDER,
44    },
45};
46
47pub use crate::arena::Arena;