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(debug_closure_helpers))]
7#![deny(clippy::manual_let_else)]
8#![feature(associated_type_defaults)]
9#![feature(closure_track_caller)]
10#![feature(const_default)]
11#![feature(const_trait_impl)]
12#![feature(derive_const)]
13#![feature(exhaustive_patterns)]
14#![feature(never_type)]
15#![feature(variant_count)]
16#![recursion_limit = "256"]
17// tidy-alphabetical-end
18
19extern crate self as rustc_hir;
20
21mod arena;
22pub mod attrs;
23pub mod def;
24pub mod def_path_hash_map;
25pub mod definitions;
26pub mod diagnostic_items;
27pub use rustc_span::def_id;
28mod hir;
29pub use rustc_hir_id::{self as hir_id, *};
30pub mod intravisit;
31pub mod lang_items;
32pub mod limit;
33pub mod lints;
34pub mod pat_util;
35mod stability;
36mod stable_hash_impls;
37mod target;
38mod version;
39pub mod weak_lang_items;
40
41#[cfg(test)]
42mod tests;
43
44#[doc(no_inline)]
45pub use hir::*;
46pub use lang_items::{LangItem, LanguageItems};
47pub use stability::*;
48pub use stable_hash_impls::HashStableContext;
49pub use target::{MethodKind, Target};
50pub use version::*;
51
52arena_types!(rustc_arena::declare_arena);