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.
4 #![feature(crate_visibility_modifier)]
5 #![feature(in_band_lifetimes)]
7 #![recursion_limit = "256"]
12 extern crate rustc_middle
;
16 mod evaluate_obligation
;
17 mod implied_outlives_bounds
;
18 mod normalize_erasing_regions
;
19 mod normalize_projection_ty
;
22 pub use type_op
::{type_op_ascribe_user_type_with_span, type_op_prove_predicate_with_span}
;
24 use rustc_middle
::ty
::query
::Providers
;
26 pub fn provide(p
: &mut Providers
) {
27 dropck_outlives
::provide(p
);
28 evaluate_obligation
::provide(p
);
29 implied_outlives_bounds
::provide(p
);
31 normalize_projection_ty
::provide(p
);
32 normalize_erasing_regions
::provide(p
);