| pub use rustc_next_trait_solver::solve::*; | |
| mod delegate; | |
| mod fulfill; | |
| pub mod inspect; | |
| mod normalize; | |
| mod select; | |
| pub(crate) use delegate::SolverDelegate; | |
| pub use fulfill::{FulfillmentCtxt, NextSolverError, StalledOnCoroutines}; | |
| pub(crate) use normalize::deeply_normalize_for_diagnostics; | |
| pub use normalize::{ | |
| deeply_normalize, deeply_normalize_with_skipped_universes, | |
| deeply_normalize_with_skipped_universes_and_ambiguous_coroutine_goals, | |
| }; | |
| use rustc_middle::query::Providers; | |
| use rustc_middle::ty::TyCtxt; | |
| pub use select::InferCtxtSelectExt; | |
| fn evaluate_root_goal_for_proof_tree_raw<'tcx>( | |
| tcx: TyCtxt<'tcx>, | |
| canonical_input: CanonicalInput<TyCtxt<'tcx>>, | |
| ) -> (QueryResult<TyCtxt<'tcx>>, &'tcx inspect::Probe<TyCtxt<'tcx>>) { | |
| evaluate_root_goal_for_proof_tree_raw_provider::<SolverDelegate<'tcx>, TyCtxt<'tcx>>( | |
| tcx, | |
| canonical_input, | |
| ) | |
| } | |
| pub fn provide(providers: &mut Providers) { | |
| *providers = Providers { evaluate_root_goal_for_proof_tree_raw, ..*providers }; | |
| } |