]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_passes/src/lib.rs
Rollup merge of #102689 - ayrtonm:master, r=cjgillot
[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 #![deny(rustc::untranslatable_diagnostic)]
9 #![deny(rustc::diagnostic_outside_of_impl)]
10 #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
11 #![feature(iter_intersperse)]
12 #![feature(let_chains)]
13 #![feature(map_try_insert)]
14 #![feature(min_specialization)]
15 #![feature(try_blocks)]
16 #![recursion_limit = "256"]
17
18 #[macro_use]
19 extern crate rustc_middle;
20 #[macro_use]
21 extern crate tracing;
22
23 use rustc_middle::ty::query::Providers;
24
25 mod check_attr;
26 mod check_const;
27 pub mod dead;
28 mod debugger_visualizer;
29 mod diagnostic_items;
30 pub mod entry;
31 mod errors;
32 pub mod hir_id_validator;
33 pub mod hir_stats;
34 mod lang_items;
35 pub mod layout_test;
36 mod lib_features;
37 mod liveness;
38 pub mod loops;
39 mod naked_functions;
40 mod reachable;
41 pub mod stability;
42 mod upvars;
43 mod weak_lang_items;
44
45 pub fn provide(providers: &mut Providers) {
46     check_attr::provide(providers);
47     check_const::provide(providers);
48     dead::provide(providers);
49     debugger_visualizer::provide(providers);
50     diagnostic_items::provide(providers);
51     entry::provide(providers);
52     lang_items::provide(providers);
53     lib_features::provide(providers);
54     loops::provide(providers);
55     naked_functions::provide(providers);
56     liveness::provide(providers);
57     reachable::provide(providers);
58     stability::provide(providers);
59     upvars::provide(providers);
60 }