@@ -627,7 +627,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
627627 && !args. is_empty ( )
628628 {
629629 let ast_segment = delegation. path . segments . last ( ) . unwrap ( ) ;
630- let mut segment = self . lower_path_segment (
630+ let segment = self . lower_path_segment (
631631 delegation. path . span ,
632632 ast_segment,
633633 ParamMode :: Optional ,
@@ -636,21 +636,15 @@ impl<'hir> LoweringContext<'_, 'hir> {
636636 None ,
637637 ) ;
638638
639- let function_args = generics
640- . child
641- . generics
642- . into_hir_generics ( self , item_id, span)
643- . into_generic_args ( self , false ) ;
644-
645639 // FIXME(fn_delegation): proper support for parent generics propagation
646640 // in method call scenario.
647- if let Some ( function_args ) = function_args {
648- segment . args = Some ( function_args ) ;
649- } else if generics . child . generics . is_user_specified ( ) {
650- generics . child . args_segment_id = Some ( segment. hir_id ) ;
651- }
652-
653- let segment = self . arena . alloc ( segment ) ;
641+ let segment = self . arena . alloc ( self . process_segment (
642+ item_id ,
643+ span ,
644+ & segment,
645+ & mut generics . child ,
646+ false ,
647+ ) ) ;
654648
655649 self . arena . alloc ( hir:: Expr {
656650 hir_id : self . next_id ( ) ,
@@ -693,8 +687,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
693687 }
694688 hir:: QPath :: TypeRelative ( ty, segment) => hir:: QPath :: TypeRelative (
695689 ty,
696- self . arena . alloc ( Self :: process_segment (
697- self ,
690+ self . arena . alloc ( self . process_segment (
698691 item_id,
699692 span,
700693 segment,
0 commit comments