Skip to content

Commit 288e7ca

Browse files
committed
show self suggestion when items are in the block
1 parent 41ee2e9 commit 288e7ca

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

src/librustc_resolve/resolve_imports.rs

+6-8
Original file line numberDiff line numberDiff line change
@@ -588,18 +588,16 @@ impl<'a, 'b:'a> ImportResolver<'a, 'b> {
588588
Success(module) => module,
589589
Indeterminate => return Indeterminate,
590590
Failed(err) => {
591-
let self_module = self.current_module.clone();
591+
let self_module = self.module_map[&self.current_module.normal_ancestor_id.unwrap()];
592592

593593
let resolve_from_self_result = self.resolve_module_path_from_root(
594594
&self_module, &module_path, 0, Some(span));
595595

596-
return match resolve_from_self_result {
597-
Success(_) => {
598-
let msg = format!("Did you mean `self::{}`?",
599-
&names_to_string(module_path));
600-
Failed(Some((span, msg)))
601-
},
602-
_ => Failed(err),
596+
return if let Success(_) = resolve_from_self_result {
597+
let msg = format!("Did you mean `self::{}`?", &names_to_string(module_path));
598+
Failed(Some((span, msg)))
599+
} else {
600+
Failed(err)
603601
};
604602
},
605603
};

src/test/compile-fail/unresolved-import.rs

+11
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,14 @@ mod m {
4444
use MyEnum::*; //~ ERROR unresolved import `MyEnum::*` [E0432]
4545
//~^ Did you mean `self::MyEnum`?
4646
}
47+
48+
mod items {
49+
enum Enum {
50+
Variant
51+
}
52+
53+
use Enum::*; //~ ERROR unresolved import `Enum::*` [E0432]
54+
//~^ Did you mean `self::Enum`?
55+
56+
fn item() {}
57+
}

0 commit comments

Comments
 (0)