@@ -22,7 +22,7 @@ use tracing::{debug, instrument, trace};
2222
2323use crate :: canonicalizer:: Canonicalizer ;
2424use crate :: delegate:: SolverDelegate ;
25- use crate :: resolve:: EagerResolver ;
25+ use crate :: resolve:: eager_resolve_vars ;
2626use crate :: solve:: eval_ctxt:: CurrentGoalKind ;
2727use crate :: solve:: {
2828 CanonicalInput , CanonicalResponse , Certainty , EvalCtxt , ExternalConstraintsData , Goal ,
6161 // so we only canonicalize the lookup table and ignore
6262 // duplicate entries.
6363 let opaque_types = self . delegate . clone_opaque_types_lookup_table ( ) ;
64- let ( goal, opaque_types) =
65- ( goal, opaque_types) . fold_with ( & mut EagerResolver :: new ( self . delegate ) ) ;
64+ let ( goal, opaque_types) = eager_resolve_vars ( self . delegate , ( goal, opaque_types) ) ;
6665
6766 let mut orig_values = Default :: default ( ) ;
6867 let canonical = Canonicalizer :: canonicalize_input (
@@ -157,8 +156,8 @@ where
157156
158157 let external_constraints =
159158 self . compute_external_query_constraints ( certainty, normalization_nested_goals) ;
160- let ( var_values, mut external_constraints) = ( self . var_values , external_constraints )
161- . fold_with ( & mut EagerResolver :: new ( self . delegate ) ) ;
159+ let ( var_values, mut external_constraints) =
160+ eager_resolve_vars ( self . delegate , ( self . var_values , external_constraints ) ) ;
162161
163162 // Remove any trivial or duplicated region constraints once we've resolved regions
164163 let mut unique = HashSet :: default ( ) ;
@@ -469,7 +468,7 @@ where
469468{
470469 let var_values = CanonicalVarValues { var_values : delegate. cx ( ) . mk_args ( var_values) } ;
471470 let state = inspect:: State { var_values, data } ;
472- let state = state . fold_with ( & mut EagerResolver :: new ( delegate) ) ;
471+ let state = eager_resolve_vars ( delegate, state ) ;
473472 Canonicalizer :: canonicalize_response ( delegate, max_input_universe, & mut vec ! [ ] , state)
474473}
475474
0 commit comments