@@ -102,31 +102,28 @@ pub(crate) fn evaluate_goal<'tcx>(
102102 . iter ( )
103103 . map ( |p| p. lower_into ( interner) . fold_with ( & mut reverse_param_substitutor) ) ,
104104 ) ;
105- let variables: Vec < _ > = binders
106- . iter ( interner)
107- . map ( |var| {
108- let kind = match var. kind {
109- chalk_ir:: VariableKind :: Ty ( ty_kind) => CanonicalVarKind :: Ty ( match ty_kind {
110- chalk_ir:: TyVariableKind :: General => CanonicalTyVarKind :: General (
111- ty:: UniverseIndex :: from_usize ( var. skip_kind ( ) . counter ) ,
112- ) ,
113- chalk_ir:: TyVariableKind :: Integer => CanonicalTyVarKind :: Int ,
114- chalk_ir:: TyVariableKind :: Float => CanonicalTyVarKind :: Float ,
115- } ) ,
116- chalk_ir:: VariableKind :: Lifetime => CanonicalVarKind :: Region (
105+ let variables = binders. iter ( interner) . map ( |var| {
106+ let kind = match var. kind {
107+ chalk_ir:: VariableKind :: Ty ( ty_kind) => CanonicalVarKind :: Ty ( match ty_kind {
108+ chalk_ir:: TyVariableKind :: General => CanonicalTyVarKind :: General (
117109 ty:: UniverseIndex :: from_usize ( var. skip_kind ( ) . counter ) ,
118110 ) ,
119- // FIXME(compiler-errors): We don't currently have a way of turning
120- // a Chalk ty back into a rustc ty, right?
121- chalk_ir:: VariableKind :: Const ( _) => todo ! ( ) ,
122- } ;
123- CanonicalVarInfo { kind }
124- } )
125- . collect ( ) ;
111+ chalk_ir:: TyVariableKind :: Integer => CanonicalTyVarKind :: Int ,
112+ chalk_ir:: TyVariableKind :: Float => CanonicalTyVarKind :: Float ,
113+ } ) ,
114+ chalk_ir:: VariableKind :: Lifetime => {
115+ CanonicalVarKind :: Region ( ty:: UniverseIndex :: from_usize ( var. skip_kind ( ) . counter ) )
116+ }
117+ // FIXME(compiler-errors): We don't currently have a way of turning
118+ // a Chalk ty back into a rustc ty, right?
119+ chalk_ir:: VariableKind :: Const ( _) => todo ! ( ) ,
120+ } ;
121+ CanonicalVarInfo { kind }
122+ } ) ;
126123 let max_universe = binders. iter ( interner) . map ( |v| v. skip_kind ( ) . counter ) . max ( ) . unwrap_or ( 0 ) ;
127124 let sol = Canonical {
128125 max_universe : ty:: UniverseIndex :: from_usize ( max_universe) ,
129- variables : tcx. mk_canonical_var_infos ( & variables) ,
126+ variables : tcx. mk_canonical_var_infos_from_iter ( variables) ,
130127 value : QueryResponse {
131128 var_values : CanonicalVarValues { var_values } ,
132129 region_constraints : QueryRegionConstraints :: default ( ) ,
0 commit comments