//! Queries that are independent from the main solver code. // tidy-alphabetical-start #![recursion_limit = "256"] #![warn(unreachable_pub)] // tidy-alphabetical-end mod codegen; mod dropck_outlives; mod evaluate_obligation; mod implied_outlives_bounds; mod normalize_erasing_regions; mod normalize_projection_ty; mod type_op; use rustc_middle::query::Providers; pub use rustc_trait_selection::traits::query::type_op::ascribe_user_type::type_op_ascribe_user_type_with_span; pub use type_op::type_op_prove_predicate_with_cause; pub fn provide(p: &mut Providers) { dropck_outlives::provide(p); evaluate_obligation::provide(p); implied_outlives_bounds::provide(p); normalize_projection_ty::provide(p); normalize_erasing_regions::provide(p); type_op::provide(p); p.codegen_select_candidate = codegen::codegen_select_candidate; }