@@ -406,7 +406,6 @@ fn check_associated_item(
406406 }
407407 ty:: AssocKind :: Fn => {
408408 let sig = fcx. tcx . fn_sig ( item. def_id ) ;
409- let sig = fcx. normalize_associated_types_in ( span, sig) ;
410409 let hir_sig = sig_if_method. expect ( "bad signature for method" ) ;
411410 check_fn_or_method (
412411 fcx,
@@ -611,7 +610,6 @@ fn check_item_fn(
611610 for_id ( tcx, item_id, span) . with_fcx ( |fcx| {
612611 let def_id = tcx. hir ( ) . local_def_id ( item_id) ;
613612 let sig = tcx. fn_sig ( def_id) ;
614- let sig = fcx. normalize_associated_types_in ( span, sig) ;
615613 let mut implied_bounds = vec ! [ ] ;
616614 check_fn_or_method ( fcx, ident. span , sig, decl, def_id. to_def_id ( ) , & mut implied_bounds) ;
617615 implied_bounds
@@ -902,8 +900,8 @@ fn check_fn_or_method<'fcx, 'tcx>(
902900 def_id : DefId ,
903901 implied_bounds : & mut Vec < Ty < ' tcx > > ,
904902) {
905- let sig = fcx. normalize_associated_types_in ( span, sig) ;
906903 let sig = fcx. tcx . liberate_late_bound_regions ( def_id, sig) ;
904+ let sig = fcx. normalize_associated_types_in ( span, sig) ;
907905
908906 for ( & input_ty, ty) in iter:: zip ( sig. inputs ( ) , hir_decl. inputs ) {
909907 fcx. register_wf_obligation ( input_ty. into ( ) , ty. span , ObligationCauseCode :: MiscObligation ) ;
@@ -1081,8 +1079,8 @@ fn check_method_receiver<'fcx, 'tcx>(
10811079 let span = fn_sig. decl . inputs [ 0 ] . span ;
10821080
10831081 let sig = fcx. tcx . fn_sig ( method. def_id ) ;
1084- let sig = fcx. normalize_associated_types_in ( span, sig) ;
10851082 let sig = fcx. tcx . liberate_late_bound_regions ( method. def_id , sig) ;
1083+ let sig = fcx. normalize_associated_types_in ( span, sig) ;
10861084
10871085 debug ! ( "check_method_receiver: sig={:?}" , sig) ;
10881086
0 commit comments