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#![cfg_attr(bootstrap, feature(let_chains))]
10#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
11#![doc(rust_logo)]
12#![feature(box_patterns)]
13#![feature(map_try_insert)]
14#![feature(rustdoc_internals)]
15#![feature(try_blocks)]
16// tidy-alphabetical-end
17
18use rustc_middle::query::Providers;
19
20pub mod abi_test;
21mod check_attr;
22mod check_export;
23pub mod dead;
24mod debugger_visualizer;
25mod diagnostic_items;
26pub mod entry;
27mod errors;
28#[cfg(debug_assertions)]
29pub mod hir_id_validator;
30pub mod input_stats;
31mod lang_items;
32pub mod layout_test;
33mod lib_features;
34mod liveness;
35pub mod loops;
36mod naked_functions;
37mod reachable;
38pub mod stability;
39mod upvars;
40mod weak_lang_items;
41
42rustc_fluent_macro::fluent_messages! { "../messages.ftl" }
43
44pub fn provide(providers: &mut Providers) {
45    check_attr::provide(providers);
46    dead::provide(providers);
47    debugger_visualizer::provide(providers);
48    diagnostic_items::provide(providers);
49    entry::provide(providers);
50    lang_items::provide(providers);
51    lib_features::provide(providers);
52    loops::provide(providers);
53    naked_functions::provide(providers);
54    liveness::provide(providers);
55    reachable::provide(providers);
56    stability::provide(providers);
57    upvars::provide(providers);
58    check_export::provide(providers);
59}