rustc_passes/lib.rs
1//! Various checks
2//!
3//! # Note
4//!
5//! This API is completely unstable and subject to change.
6
7// tidy-alphabetical-start
8#![allow(internal_features)]
9#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
10#![doc(rust_logo)]
11#![feature(let_chains)]
12#![feature(map_try_insert)]
13#![feature(rustdoc_internals)]
14#![feature(try_blocks)]
15#![warn(unreachable_pub)]
16// tidy-alphabetical-end
17
18use rustc_middle::query::Providers;
19
20pub mod abi_test;
21mod check_attr;
22pub mod dead;
23mod debugger_visualizer;
24mod diagnostic_items;
25pub mod entry;
26mod errors;
27#[cfg(debug_assertions)]
28pub mod hir_id_validator;
29pub mod input_stats;
30mod lang_items;
31pub mod layout_test;
32mod lib_features;
33mod liveness;
34pub mod loops;
35mod naked_functions;
36mod reachable;
37pub mod stability;
38mod upvars;
39mod weak_lang_items;
40
41rustc_fluent_macro::fluent_messages! { "../messages.ftl" }
42
43pub fn provide(providers: &mut Providers) {
44 check_attr::provide(providers);
45 dead::provide(providers);
46 debugger_visualizer::provide(providers);
47 diagnostic_items::provide(providers);
48 entry::provide(providers);
49 lang_items::provide(providers);
50 lib_features::provide(providers);
51 loops::provide(providers);
52 naked_functions::provide(providers);
53 liveness::provide(providers);
54 reachable::provide(providers);
55 stability::provide(providers);
56 upvars::provide(providers);
57}