]> git.lizzy.rs Git - rust.git/commitdiff
Customize error messages for self glob imports.
authorVictor Berger <victor.berger@m4x.org>
Fri, 7 Aug 2015 10:00:46 +0000 (12:00 +0200)
committerVictor Berger <victor.berger@m4x.org>
Fri, 7 Aug 2015 12:18:20 +0000 (14:18 +0200)
src/librustc_resolve/resolve_imports.rs
src/test/compile-fail/issue-8208.rs

index bab9f19bbffd0e87956fe7fad9648c93f1f4d462..5a377d2c5fe12f2af21cc022ebac6b4a9ddfd925 100644 (file)
@@ -785,7 +785,11 @@ fn resolve_glob_import(&mut self,
             // 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() {
index 7e3f1171e252f5ba77908738ee02269cef1c017b..318089b3030f613d227c84f4b4957a4194c7dc28 100644 (file)
@@ -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() {
 }