]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_session/src/lib.rs
merge rustc history
[rust.git] / compiler / rustc_session / src / lib.rs
1 #![feature(if_let_guard)]
2 #![feature(let_chains)]
3 #![cfg_attr(bootstrap, feature(let_else))]
4 #![feature(min_specialization)]
5 #![feature(never_type)]
6 #![feature(once_cell)]
7 #![feature(option_get_or_insert_default)]
8 #![feature(rustc_attrs)]
9 #![feature(map_many_mut)]
10 #![recursion_limit = "256"]
11 #![allow(rustc::potential_query_instability)]
12 #![deny(rustc::untranslatable_diagnostic)]
13 #![deny(rustc::diagnostic_outside_of_impl)]
14
15 #[macro_use]
16 extern crate rustc_macros;
17 pub mod errors;
18
19 #[macro_use]
20 extern crate tracing;
21
22 pub mod cgu_reuse_tracker;
23 pub mod utils;
24 pub use lint::{declare_lint, declare_lint_pass, declare_tool_lint, impl_lint_pass};
25 pub use rustc_lint_defs as lint;
26 pub mod parse;
27
28 mod code_stats;
29 #[macro_use]
30 pub mod config;
31 pub mod cstore;
32 pub mod filesearch;
33 mod options;
34 pub mod search_paths;
35
36 mod session;
37 pub use session::*;
38
39 pub mod output;
40
41 pub use getopts;
42
43 /// Requirements for a `StableHashingContext` to be used in this crate.
44 /// This is a hack to allow using the `HashStable_Generic` derive macro
45 /// instead of implementing everything in `rustc_middle`.
46 pub trait HashStableContext: rustc_ast::HashStableContext + rustc_hir::HashStableContext {}