about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvarkor <github@varkor.com>2018-02-25 13:46:45 +0000
committervarkor <github@varkor.com>2018-06-20 12:19:04 +0100
commite05ad4f31a6440d78588912ef76c4ba454b1b539 (patch)
tree8b07646b8eac260e3fc28f3083fee60a6133edd4
parent1ed60a9173ab5b757adf239269e3aa91d30abf54 (diff)
downloadrust-e05ad4f31a6440d78588912ef76c4ba454b1b539.tar.gz
rust-e05ad4f31a6440d78588912ef76c4ba454b1b539.zip
Abstract walk_path_parameters
-rw-r--r--src/librustc/hir/intravisit.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/librustc/hir/intravisit.rs b/src/librustc/hir/intravisit.rs
index 79b433e3cb2..1965488171e 100644
--- a/src/librustc/hir/intravisit.rs
+++ b/src/librustc/hir/intravisit.rs
@@ -344,6 +344,12 @@ pub trait Visitor<'v> : Sized {
     fn visit_label(&mut self, label: &'v Label) {
         walk_label(self, label)
     }
+    fn visit_path_param(&mut self, path_param: &'v PathParam) {
+        match path_param {
+            PathParam::Lifetime(lt) => self.visit_lifetime(lt),
+            PathParam::Type(ty) => self.visit_ty(ty),
+        }
+    }
     fn visit_lifetime(&mut self, lifetime: &'v Lifetime) {
         walk_lifetime(self, lifetime)
     }
@@ -650,8 +656,7 @@ pub fn walk_path_segment<'v, V: Visitor<'v>>(visitor: &mut V,
 pub fn walk_path_parameters<'v, V: Visitor<'v>>(visitor: &mut V,
                                                 _path_span: Span,
                                                 path_parameters: &'v PathParameters) {
-    walk_list!(visitor, visit_lifetime, path_parameters.lifetimes());
-    walk_list!(visitor, visit_ty, path_parameters.types());
+    walk_list!(visitor, visit_path_param, &path_parameters.parameters);
     walk_list!(visitor, visit_assoc_type_binding, &path_parameters.bindings);
 }