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 #![feature(or_patterns)]
8 #![recursion_limit = "256"]
13 extern crate rustc_middle
;
16 mod evaluate_obligation
;
17 mod implied_outlives_bounds
;
19 mod normalize_erasing_regions
;
20 mod normalize_projection_ty
;
23 use rustc_middle
::ty
::query
::Providers
;
25 pub fn provide(p
: &mut Providers
<'_
>) {
26 dropck_outlives
::provide(p
);
27 evaluate_obligation
::provide(p
);
28 implied_outlives_bounds
::provide(p
);
30 normalize_projection_ty
::provide(p
);
31 normalize_erasing_regions
::provide(p
);