]> git.lizzy.rs Git - rust.git/commitdiff
review comments: use param kind type to identify impl Trait
authorEsteban Küber <esteban@kuber.com.ar>
Sat, 1 Jun 2019 22:39:12 +0000 (15:39 -0700)
committerEsteban Küber <esteban@kuber.com.ar>
Sun, 2 Jun 2019 02:30:13 +0000 (19:30 -0700)
src/librustc_typeck/check/compare_method.rs

index fb83f877ccce241bc90d17f1540379d778945302..b4548ac70911e8224afbf1272d92e66dd3ecfdef 100644 (file)
@@ -612,10 +612,11 @@ fn compare_number_of_generics<'a, 'tcx>(
                         .map(|p| p.span)
                         .collect();
                     let impl_trait_spans: Vec<Span> = trait_item.generics.params.iter()
-                        .filter_map(|p| if !trait_item.generics.span.overlaps(p.span) {
-                            Some(p.span)
-                        } else {
-                            None
+                        .filter_map(|p| match p.kind {
+                            GenericParamKind::Type {
+                                synthetic: Some(hir::SyntheticTyParamKind::ImplTrait), ..
+                            } => Some(p.span),
+                            _ => None,
                         }).collect();
                     (Some(arg_spans), impl_trait_spans)
                 }
@@ -626,10 +627,11 @@ fn compare_number_of_generics<'a, 'tcx>(
             let impl_hir_id = tcx.hir().as_local_hir_id(impl_.def_id).unwrap();
             let impl_item = tcx.hir().expect_impl_item(impl_hir_id);
             let impl_item_impl_trait_spans: Vec<Span> = impl_item.generics.params.iter()
-                .filter_map(|p| if !impl_item.generics.span.overlaps(p.span) {
-                    Some(p.span)
-                } else {
-                    None
+                .filter_map(|p| match p.kind {
+                    GenericParamKind::Type {
+                        synthetic: Some(hir::SyntheticTyParamKind::ImplTrait), ..
+                    } => Some(p.span),
+                    _ => None,
                 }).collect();
             let spans = impl_item.generics.spans();
             let span = spans.primary_span();