about summary refs log tree commit diff
path: root/src/librustc_resolve
diff options
context:
space:
mode:
authorAndy Russell <arussell123@gmail.com>2016-09-05 23:08:21 -0400
committerAndy Russell <arussell123@gmail.com>2016-09-05 23:08:21 -0400
commit288e7caf19b415007787f47424c9e00913cb7803 (patch)
treed3d2e000b50bbbf4799265a55f68ba5d2ff4cd97 /src/librustc_resolve
parent41ee2e9124245071dbc890b8617fd6c75391477f (diff)
downloadrust-288e7caf19b415007787f47424c9e00913cb7803.tar.gz
rust-288e7caf19b415007787f47424c9e00913cb7803.zip
show `self` suggestion when items are in the block
Diffstat (limited to 'src/librustc_resolve')
-rw-r--r--src/librustc_resolve/resolve_imports.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/librustc_resolve/resolve_imports.rs b/src/librustc_resolve/resolve_imports.rs
index 622d705485e..90c17866583 100644
--- a/src/librustc_resolve/resolve_imports.rs
+++ b/src/librustc_resolve/resolve_imports.rs
@@ -588,18 +588,16 @@ impl<'a, 'b:'a> ImportResolver<'a, 'b> {
             Success(module) => module,
             Indeterminate => return Indeterminate,
             Failed(err) => {
-                let self_module = self.current_module.clone();
+                let self_module = self.module_map[&self.current_module.normal_ancestor_id.unwrap()];
 
                 let resolve_from_self_result = self.resolve_module_path_from_root(
                     &self_module, &module_path, 0, Some(span));
 
-                return match resolve_from_self_result {
-                    Success(_) => {
-                        let msg = format!("Did you mean `self::{}`?",
-                                          &names_to_string(module_path));
-                        Failed(Some((span, msg)))
-                    },
-                    _ => Failed(err),
+                return if let Success(_) = resolve_from_self_result {
+                    let msg = format!("Did you mean `self::{}`?", &names_to_string(module_path));
+                    Failed(Some((span, msg)))
+                } else {
+                    Failed(err)
                 };
             },
         };