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// tidy-alphabetical-end
16
17use rustc_middle::query::Providers;
18
19pub mod abi_test;
20mod check_attr;
21pub mod dead;
22mod debugger_visualizer;
23mod diagnostic_items;
24pub mod entry;
25mod errors;
26#[cfg(debug_assertions)]
27pub mod hir_id_validator;
28pub mod input_stats;
29mod lang_items;
30pub mod layout_test;
31mod lib_features;
32mod liveness;
33pub mod loops;
34mod naked_functions;
35mod reachable;
36pub mod stability;
37mod upvars;
38mod weak_lang_items;
39
40rustc_fluent_macro::fluent_messages! { "../messages.ftl" }
41
42pub fn provide(providers: &mut Providers) {
43 check_attr::provide(providers);
44 dead::provide(providers);
45 debugger_visualizer::provide(providers);
46 diagnostic_items::provide(providers);
47 entry::provide(providers);
48 lang_items::provide(providers);
49 lib_features::provide(providers);
50 loops::provide(providers);
51 naked_functions::provide(providers);
52 liveness::provide(providers);
53 reachable::provide(providers);
54 stability::provide(providers);
55 upvars::provide(providers);
56}