summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2014-01-09 21:42:28 +1300
committerNick Cameron <ncameron@mozilla.com>2014-01-10 17:54:12 +1300
commit40d8a12b68426a39456548902c71e002ae71c0b8 (patch)
treef4c2c98b88a3c897f4fbd8527fc661e8c4f86595 /src/libsyntax
parent28ddc6537fcec5eb6033c78709b288abf72e8ae7 (diff)
downloadrust-40d8a12b68426a39456548902c71e002ae71c0b8.tar.gz
rust-40d8a12b68426a39456548902c71e002ae71c0b8.zip
item_impl holds an Option<> to the trait ref, not a list of trait refs. Therefore, we should not iterate over it.
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/visit.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs
index 1f0572a7785..d5fb9efe59b 100644
--- a/src/libsyntax/visit.rs
+++ b/src/libsyntax/visit.rs
@@ -223,12 +223,13 @@ pub fn walk_item<E: Clone, V: Visitor<E>>(visitor: &mut V, item: &Item, env: E)
             walk_enum_def(visitor, enum_definition, type_parameters, env)
         }
         ItemImpl(ref type_parameters,
-                  ref trait_references,
-                  typ,
-                  ref methods) => {
+                 ref trait_reference,
+                 typ,
+                 ref methods) => {
             visitor.visit_generics(type_parameters, env.clone());
-            for trait_reference in trait_references.iter() {
-                walk_trait_ref(visitor, trait_reference, env.clone())
+            match *trait_reference {
+                Some(ref trait_reference) => walk_trait_ref(visitor, trait_reference, env.clone()),
+                None => ()
             }
             visitor.visit_ty(typ, env.clone());
             for method in methods.iter() {