Skip to content

Commit afb17ae

Browse files
committed
Refactorings: consistent segments processing
1 parent 727bfb0 commit afb17ae

1 file changed

Lines changed: 9 additions & 16 deletions

File tree

compiler/rustc_ast_lowering/src/delegation/delegation.rs

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)