]>
Commit | Line | Data |
---|---|---|
0531ce1d XL |
1 | //! New recursive solver modeled on Chalk's recursive solver. Most of |
2 | //! the guts are broken up into modules; see the comments in those modules. | |
3 | ||
f2b60f7d FG |
4 | #![deny(rustc::untranslatable_diagnostic)] |
5 | #![deny(rustc::diagnostic_outside_of_impl)] | |
dfeec247 | 6 | #![recursion_limit = "256"] |
94b46f34 | 7 | |
0531ce1d | 8 | #[macro_use] |
3dfed10e | 9 | extern crate tracing; |
0531ce1d | 10 | #[macro_use] |
ba9703b0 | 11 | extern crate rustc_middle; |
0531ce1d | 12 | |
f9f354fc | 13 | mod chalk; |
0531ce1d | 14 | mod dropck_outlives; |
83c7162d | 15 | mod evaluate_obligation; |
8faf50e0 | 16 | mod implied_outlives_bounds; |
dfeec247 XL |
17 | mod normalize_erasing_regions; |
18 | mod normalize_projection_ty; | |
8faf50e0 | 19 | mod type_op; |
0531ce1d | 20 | |
c295e0f8 | 21 | pub use type_op::{type_op_ascribe_user_type_with_span, type_op_prove_predicate_with_cause}; |
94222f64 | 22 | |
ba9703b0 | 23 | use rustc_middle::ty::query::Providers; |
0531ce1d | 24 | |
f035d41b | 25 | pub fn provide(p: &mut Providers) { |
8faf50e0 XL |
26 | dropck_outlives::provide(p); |
27 | evaluate_obligation::provide(p); | |
28 | implied_outlives_bounds::provide(p); | |
f9f354fc | 29 | chalk::provide(p); |
8faf50e0 XL |
30 | normalize_projection_ty::provide(p); |
31 | normalize_erasing_regions::provide(p); | |
32 | type_op::provide(p); | |
0531ce1d | 33 | } |