about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-03-07 23:10:53 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-03-26 18:23:57 +0000
commite011ae5ea9c48d71772c054771ead2d0f053c8c7 (patch)
tree2b7b0c276c79eb049ec08bbd12076dc7b08ea444
parent60a836fc930d808e19b39ece8982e46912964aa1 (diff)
downloadrust-e011ae5ea9c48d71772c054771ead2d0f053c8c7.tar.gz
rust-e011ae5ea9c48d71772c054771ead2d0f053c8c7.zip
Cleanup trait search
-rw-r--r--src/librustc_resolve/lib.rs17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs
index c5a65a658ba..d9fc678554f 100644
--- a/src/librustc_resolve/lib.rs
+++ b/src/librustc_resolve/lib.rs
@@ -3233,18 +3233,15 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
         }
 
         let mut found_traits = Vec::new();
-        let mut search_module = self.current_module;
-        loop {
-            // Look for the current trait.
-            match self.current_trait_ref {
-                Some((trait_def_id, _)) => {
-                    if self.trait_item_map.contains_key(&(name, trait_def_id)) {
-                        add_trait_info(&mut found_traits, trait_def_id, name);
-                    }
-                }
-                None => {} // Nothing to do.
+        // Look for the current trait.
+        if let Some((trait_def_id, _)) = self.current_trait_ref {
+            if self.trait_item_map.contains_key(&(name, trait_def_id)) {
+                add_trait_info(&mut found_traits, trait_def_id, name);
             }
+        }
 
+        let mut search_module = self.current_module;
+        loop {
             // Look for trait children.
             let mut search_in_module = |module: Module<'a>| module.for_each_child(|_, ns, binding| {
                 if ns != TypeNS { return }