rustc_session/lib.rs
1// tidy-alphabetical-start
2#![allow(internal_features)]
3#![feature(const_option_ops)]
4#![feature(const_trait_impl)]
5#![feature(default_field_values)]
6#![feature(iter_intersperse)]
7#![feature(macro_derive)]
8#![feature(rustc_attrs)]
9// To generate CodegenOptionsTargetModifiers and UnstableOptionsTargetModifiers enums
10// with macro_rules, it is necessary to use recursive mechanic ("Incremental TT Munchers").
11#![recursion_limit = "256"]
12// tidy-alphabetical-end
13
14pub mod errors;
15
16pub mod utils;
17pub use lint::{declare_lint, declare_lint_pass, declare_tool_lint, impl_lint_pass};
18pub use rustc_lint_defs as lint;
19pub mod parse;
20
21pub mod code_stats;
22#[macro_use]
23pub mod config;
24pub mod cstore;
25pub mod filesearch;
26mod macros;
27mod options;
28pub mod search_paths;
29
30mod session;
31pub use session::*;
32
33pub mod output;
34
35pub use getopts;
36
37/// Requirements for a `StableHashingContext` to be used in this crate.
38/// This is a hack to allow using the `HashStable_Generic` derive macro
39/// instead of implementing everything in `rustc_middle`.
40pub trait HashStableContext: rustc_ast::HashStableContext + rustc_hir::HashStableContext {}