about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMukilan Thiyagarajan <mukilanthiagarajan@gmail.com>2014-12-07 07:21:58 +0530
committerMukilan Thiyagarajan <mukilanthiagarajan@gmail.com>2014-12-07 07:37:15 +0530
commit4b75a5d8da6cc47fdf2a5a292889ac0a3f02e8b1 (patch)
tree128b2db07a0be68248c11ad478290149e3cc7a85
parent7403b0ceaa59918f490271ba9b394df4615bc60d (diff)
downloadrust-4b75a5d8da6cc47fdf2a5a292889ac0a3f02e8b1.tar.gz
rust-4b75a5d8da6cc47fdf2a5a292889ac0a3f02e8b1.zip
Add compile-fail tests for #19498
-rw-r--r--src/librustc/middle/resolve.rs5
-rw-r--r--src/test/compile-fail/issue-19498.rs21
-rw-r--r--src/test/compile-fail/unresolved-extern-mod-suggestion.rs3
3 files changed, 26 insertions, 3 deletions
diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs
index 17dff18c3c3..f1a75f996b0 100644
--- a/src/librustc/middle/resolve.rs
+++ b/src/librustc/middle/resolve.rs
@@ -3055,8 +3055,9 @@ impl<'a> Resolver<'a> {
                  .contains_key(&name) {
             match import_resolution.type_target {
                 Some(ref target) if !target.shadowable => {
-                    let msg = format!("import `{}` conflicts with imported \
-                                       crate in this module",
+                    let msg = format!("import `{0}` conflicts with imported \
+                                       crate in this module \
+                                       (maybe you meant `use {0}::*`?)",
                                       token::get_name(name).get());
                     self.session.span_err(import_span, msg.as_slice());
                 }
diff --git a/src/test/compile-fail/issue-19498.rs b/src/test/compile-fail/issue-19498.rs
new file mode 100644
index 00000000000..02b9c42b65b
--- /dev/null
+++ b/src/test/compile-fail/issue-19498.rs
@@ -0,0 +1,21 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use self::A; //~ ERROR import `A` conflicts with existing submodule
+use self::B; //~ ERROR import `B` conflicts with existing submodule
+mod A {}
+pub mod B {}
+
+mod C {
+    use C::D; //~ ERROR import `D` conflicts with existing submodule
+    mod D {}
+}
+
+fn main() {}
diff --git a/src/test/compile-fail/unresolved-extern-mod-suggestion.rs b/src/test/compile-fail/unresolved-extern-mod-suggestion.rs
index 33d3deb8733..c2ee62c195c 100644
--- a/src/test/compile-fail/unresolved-extern-mod-suggestion.rs
+++ b/src/test/compile-fail/unresolved-extern-mod-suggestion.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 extern crate core;
-use core; //~ ERROR unresolved import (maybe you meant `core::*`?)
+use core;
+//~^ ERROR import `core` conflicts with imported crate in this module
 
 fn main() {}