]>
Commit | Line | Data |
---|---|---|
dfeec247 XL |
1 | //! Construction of MIR from HIR. |
2 | //! | |
3 | //! This crate also contains the match exhaustiveness and usefulness checking. | |
5e7ed085 | 4 | #![allow(rustc::potential_query_instability)] |
2b03887a | 5 | #![feature(assert_matches)] |
487cf647 | 6 | #![feature(associated_type_bounds)] |
dfeec247 | 7 | #![feature(box_patterns)] |
04454e1e | 8 | #![feature(if_let_guard)] |
5e7ed085 | 9 | #![feature(let_chains)] |
17df50a5 | 10 | #![feature(min_specialization)] |
9c376795 | 11 | #![feature(try_blocks)] |
dfeec247 XL |
12 | #![recursion_limit = "256"] |
13 | ||
14 | #[macro_use] | |
3dfed10e | 15 | extern crate tracing; |
dfeec247 | 16 | #[macro_use] |
ba9703b0 | 17 | extern crate rustc_middle; |
dfeec247 XL |
18 | |
19 | mod build; | |
17df50a5 | 20 | mod check_unsafety; |
9c376795 | 21 | mod errors; |
add651ee | 22 | pub mod lints; |
6a06907d | 23 | pub mod thir; |
dfeec247 | 24 | |
49aad941 | 25 | use rustc_middle::query::Providers; |
dfeec247 | 26 | |
9ffffee4 | 27 | use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage}; |
49aad941 | 28 | use rustc_fluent_macro::fluent_messages; |
9ffffee4 | 29 | |
353b0b11 | 30 | fluent_messages! { "../messages.ftl" } |
9ffffee4 | 31 | |
f035d41b | 32 | pub fn provide(providers: &mut Providers) { |
3dfed10e XL |
33 | providers.check_match = thir::pattern::check_match; |
34 | providers.lit_to_const = thir::constant::lit_to_const; | |
dfeec247 | 35 | providers.mir_built = build::mir_built; |
fe692bf9 FG |
36 | providers.closure_saved_names_of_captured_variables = |
37 | build::closure_saved_names_of_captured_variables; | |
17df50a5 | 38 | providers.thir_check_unsafety = check_unsafety::thir_check_unsafety; |
17df50a5 | 39 | providers.thir_body = thir::cx::thir_body; |
9ffffee4 FG |
40 | providers.thir_tree = thir::print::thir_tree; |
41 | providers.thir_flat = thir::print::thir_flat; | |
dfeec247 | 42 | } |