diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-03-07 23:10:53 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-03-26 18:23:57 +0000 |
| commit | e011ae5ea9c48d71772c054771ead2d0f053c8c7 (patch) | |
| tree | 2b7b0c276c79eb049ec08bbd12076dc7b08ea444 | |
| parent | 60a836fc930d808e19b39ece8982e46912964aa1 (diff) | |
| download | rust-e011ae5ea9c48d71772c054771ead2d0f053c8c7.tar.gz rust-e011ae5ea9c48d71772c054771ead2d0f053c8c7.zip | |
Cleanup trait search
| -rw-r--r-- | src/librustc_resolve/lib.rs | 17 |
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 } |
