diff options
| author | Victor Berger <victor.berger@m4x.org> | 2015-08-07 12:00:46 +0200 |
|---|---|---|
| committer | Victor Berger <victor.berger@m4x.org> | 2015-08-07 14:18:20 +0200 |
| commit | 5847ea76195d9cbe9d066418bdf44ba2a0398649 (patch) | |
| tree | 675bdea0b0d1213ff3ae2b28b3e454fabcdea758 | |
| parent | 3d041bd46dfbd77a392228b6e4c0cb866d4404fc (diff) | |
Customize error messages for self glob imports.
| -rw-r--r-- | src/librustc_resolve/resolve_imports.rs | 6 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-8208.rs | 12 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/librustc_resolve/resolve_imports.rs b/src/librustc_resolve/resolve_imports.rs index bab9f19bbff..5a377d2c5fe 100644 --- a/src/librustc_resolve/resolve_imports.rs +++ b/src/librustc_resolve/resolve_imports.rs @@ -785,7 +785,11 @@ impl<'a, 'b:'a, 'tcx:'b> ImportResolver<'a, 'b, 'tcx> { // In this case, target_module == module_ // This means we are trying to glob import a module into itself, // and it is a no-go - return ResolveResult::Indeterminate; + debug!("(resolving glob imports) target module is current module; giving up"); + return ResolveResult::Failed(Some(( + import_directive.span, + "Cannot glob-import a module into itself.".into() + ))); } for (ident, target_import_resolution) in import_resolutions.iter() { diff --git a/src/test/compile-fail/issue-8208.rs b/src/test/compile-fail/issue-8208.rs index 7e3f1171e25..318089b3030 100644 --- a/src/test/compile-fail/issue-8208.rs +++ b/src/test/compile-fail/issue-8208.rs @@ -8,7 +8,17 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use self::*; //~ ERROR: unresolved import +use self::*; //~ ERROR: unresolved import `self::*`. Cannot glob-import a module into itself. + +mod foo { + use foo::*; //~ ERROR: unresolved import `foo::*`. Cannot glob-import a module into itself. + + mod bar { + use super::bar::*; + //~^ ERROR: unresolved import `super::bar::*`. Cannot glob-import a module into itself. + } + +} fn main() { } |
