]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_passes/src/lib.rs
defa9d15296e08ac80b70d943c9d83873afc60ac
[rust.git] / compiler / rustc_passes / src / lib.rs
1 //! Various checks
2 //!
3 //! # Note
4 //!
5 //! This API is completely unstable and subject to change.
6
7 #![allow(rustc::potential_query_instability)]
8 #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
9 #![feature(iter_intersperse)]
10 #![cfg_attr(bootstrap, feature(let_chains))]
11 #![feature(let_else)]
12 #![feature(map_try_insert)]
13 #![feature(min_specialization)]
14 #![feature(try_blocks)]
15 #![recursion_limit = "256"]
16
17 #[macro_use]
18 extern crate rustc_middle;
19 #[macro_use]
20 extern crate tracing;
21
22 use rustc_middle::ty::query::Providers;
23
24 mod check_attr;
25 mod check_const;
26 pub mod dead;
27 mod debugger_visualizer;
28 mod diagnostic_items;
29 pub mod entry;
30 mod errors;
31 pub mod hir_id_validator;
32 pub mod hir_stats;
33 mod lang_items;
34 pub mod layout_test;
35 mod lib_features;
36 mod liveness;
37 pub mod loops;
38 mod naked_functions;
39 mod reachable;
40 pub mod stability;
41 mod upvars;
42 mod weak_lang_items;
43
44 pub fn provide(providers: &mut Providers) {
45     check_attr::provide(providers);
46     check_const::provide(providers);
47     dead::provide(providers);
48     debugger_visualizer::provide(providers);
49     diagnostic_items::provide(providers);
50     entry::provide(providers);
51     lang_items::provide(providers);
52     lib_features::provide(providers);
53     loops::provide(providers);
54     naked_functions::provide(providers);
55     liveness::provide(providers);
56     reachable::provide(providers);
57     stability::provide(providers);
58     upvars::provide(providers);
59 }