@@ -383,32 +383,6 @@ where
383383    result
384384} 
385385
386- #[ instrument( level = "info" ,  skip( selcx,  param_env,  cause,  obligations) ) ]  
387- pub ( crate )  fn  try_normalize_with_depth_to < ' a ,  ' b ,  ' tcx ,  T > ( 
388-     selcx :  & ' a  mut  SelectionContext < ' b ,  ' tcx > , 
389-     param_env :  ty:: ParamEnv < ' tcx > , 
390-     cause :  ObligationCause < ' tcx > , 
391-     depth :  usize , 
392-     value :  T , 
393-     obligations :  & mut  Vec < PredicateObligation < ' tcx > > , 
394- )  -> T 
395- where 
396-     T :  TypeFoldable < TyCtxt < ' tcx > > , 
397- { 
398-     debug ! ( obligations. len = obligations. len( ) ) ; 
399-     let  mut  normalizer = AssocTypeNormalizer :: new_without_eager_inference_replacement ( 
400-         selcx, 
401-         param_env, 
402-         cause, 
403-         depth, 
404-         obligations, 
405-     ) ; 
406-     let  result = ensure_sufficient_stack ( || normalizer. fold ( value) ) ; 
407-     debug ! ( ?result,  obligations. len = normalizer. obligations. len( ) ) ; 
408-     debug ! ( ?normalizer. obligations, ) ; 
409-     result
410- } 
411- 
412386pub ( crate )  fn  needs_normalization < ' tcx ,  T :  TypeVisitable < TyCtxt < ' tcx > > > ( 
413387    value :  & T , 
414388    reveal :  Reveal , 
@@ -435,10 +409,6 @@ struct AssocTypeNormalizer<'a, 'b, 'tcx> {
435409    obligations :  & ' a  mut  Vec < PredicateObligation < ' tcx > > , 
436410    depth :  usize , 
437411    universes :  Vec < Option < ty:: UniverseIndex > > , 
438-     /// If true, when a projection is unable to be completed, an inference 
439-      /// variable will be created and an obligation registered to project to that 
440-      /// inference variable. Also, constants will be eagerly evaluated. 
441-      eager_inference_replacement :  bool , 
442412} 
443413
444414impl < ' a ,  ' b ,  ' tcx >  AssocTypeNormalizer < ' a ,  ' b ,  ' tcx >  { 
@@ -450,33 +420,7 @@ impl<'a, 'b, 'tcx> AssocTypeNormalizer<'a, 'b, 'tcx> {
450420        obligations :  & ' a  mut  Vec < PredicateObligation < ' tcx > > , 
451421    )  -> AssocTypeNormalizer < ' a ,  ' b ,  ' tcx >  { 
452422        debug_assert ! ( !selcx. infcx. next_trait_solver( ) ) ; 
453-         AssocTypeNormalizer  { 
454-             selcx, 
455-             param_env, 
456-             cause, 
457-             obligations, 
458-             depth, 
459-             universes :  vec ! [ ] , 
460-             eager_inference_replacement :  true , 
461-         } 
462-     } 
463- 
464-     fn  new_without_eager_inference_replacement ( 
465-         selcx :  & ' a  mut  SelectionContext < ' b ,  ' tcx > , 
466-         param_env :  ty:: ParamEnv < ' tcx > , 
467-         cause :  ObligationCause < ' tcx > , 
468-         depth :  usize , 
469-         obligations :  & ' a  mut  Vec < PredicateObligation < ' tcx > > , 
470-     )  -> AssocTypeNormalizer < ' a ,  ' b ,  ' tcx >  { 
471-         AssocTypeNormalizer  { 
472-             selcx, 
473-             param_env, 
474-             cause, 
475-             obligations, 
476-             depth, 
477-             universes :  vec ! [ ] , 
478-             eager_inference_replacement :  false , 
479-         } 
423+         AssocTypeNormalizer  {  selcx,  param_env,  cause,  obligations,  depth,  universes :  vec ! [ ]  } 
480424    } 
481425
482426    fn  fold < T :  TypeFoldable < TyCtxt < ' tcx > > > ( & mut  self ,  value :  T )  -> T  { 
@@ -579,28 +523,14 @@ impl<'a, 'b, 'tcx> TypeFolder<TyCtxt<'tcx>> for AssocTypeNormalizer<'a, 'b, 'tcx
579523                // register an obligation to *later* project, since we know 
580524                // there won't be bound vars there. 
581525                let  data = data. fold_with ( self ) ; 
582-                 let  normalized_ty = if  self . eager_inference_replacement  { 
583-                     normalize_projection_type ( 
584-                         self . selcx , 
585-                         self . param_env , 
586-                         data, 
587-                         self . cause . clone ( ) , 
588-                         self . depth , 
589-                         self . obligations , 
590-                     ) 
591-                 }  else  { 
592-                     opt_normalize_projection_type ( 
593-                         self . selcx , 
594-                         self . param_env , 
595-                         data, 
596-                         self . cause . clone ( ) , 
597-                         self . depth , 
598-                         self . obligations , 
599-                     ) 
600-                     . ok ( ) 
601-                     . flatten ( ) 
602-                     . unwrap_or_else ( || ty. super_fold_with ( self ) . into ( ) ) 
603-                 } ; 
526+                 let  normalized_ty = normalize_projection_type ( 
527+                     self . selcx , 
528+                     self . param_env , 
529+                     data, 
530+                     self . cause . clone ( ) , 
531+                     self . depth , 
532+                     self . obligations , 
533+                 ) ; 
604534                debug ! ( 
605535                    ?self . depth, 
606536                    ?ty, 
0 commit comments