File tree 1 file changed +10
-8
lines changed
src/librustc_typeck/check
1 file changed +10
-8
lines changed Original file line number Diff line number Diff line change @@ -612,10 +612,11 @@ fn compare_number_of_generics<'a, 'tcx>(
612
612
. map ( |p| p. span )
613
613
. collect ( ) ;
614
614
let impl_trait_spans: Vec < Span > = trait_item. generics . params . iter ( )
615
- . filter_map ( |p| if !trait_item. generics . span . overlaps ( p. span ) {
616
- Some ( p. span )
617
- } else {
618
- None
615
+ . filter_map ( |p| match p. kind {
616
+ GenericParamKind :: Type {
617
+ synthetic : Some ( hir:: SyntheticTyParamKind :: ImplTrait ) , ..
618
+ } => Some ( p. span ) ,
619
+ _ => None ,
619
620
} ) . collect ( ) ;
620
621
( Some ( arg_spans) , impl_trait_spans)
621
622
}
@@ -626,10 +627,11 @@ fn compare_number_of_generics<'a, 'tcx>(
626
627
let impl_hir_id = tcx. hir ( ) . as_local_hir_id ( impl_. def_id ) . unwrap ( ) ;
627
628
let impl_item = tcx. hir ( ) . expect_impl_item ( impl_hir_id) ;
628
629
let impl_item_impl_trait_spans: Vec < Span > = impl_item. generics . params . iter ( )
629
- . filter_map ( |p| if !impl_item. generics . span . overlaps ( p. span ) {
630
- Some ( p. span )
631
- } else {
632
- None
630
+ . filter_map ( |p| match p. kind {
631
+ GenericParamKind :: Type {
632
+ synthetic : Some ( hir:: SyntheticTyParamKind :: ImplTrait ) , ..
633
+ } => Some ( p. span ) ,
634
+ _ => None ,
633
635
} ) . collect ( ) ;
634
636
let spans = impl_item. generics . spans ( ) ;
635
637
let span = spans. primary_span ( ) ;
You can’t perform that action at this time.
0 commit comments