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 #![deny(rust_2018_idioms)]
6 #![deny(unused_lifetimes)]
8 #![feature(crate_visibility_modifier)]
9 #![feature(in_band_lifetimes)]
12 #![recursion_limit="256"]
21 mod evaluate_obligation;
22 mod implied_outlives_bounds;
23 mod normalize_projection_ty;
24 mod normalize_erasing_regions;
29 use rustc::ty::query::Providers;
31 pub fn provide(p: &mut Providers<'_>) {
32 dropck_outlives::provide(p);
33 evaluate_obligation::provide(p);
34 implied_outlives_bounds::provide(p);
36 chalk_context::provide(p);
37 normalize_projection_ty::provide(p);
38 normalize_erasing_regions::provide(p);