diff options
| author | Adam Medziński <adam.medzinski@gmail.com> | 2016-08-05 13:06:09 +0200 |
|---|---|---|
| committer | Adam Medziński <adam.medzinski@gmail.com> | 2016-08-06 13:31:03 +0200 |
| commit | f4dd1f9500e5d5fedc79994b23f9fdf79672ce71 (patch) | |
| tree | b2ffa2d52497b8c46b19b465b5add48a139b1ca1 | |
| parent | 802d0811a5a9fc26388dda1d54ea41a5b64a2466 (diff) | |
| download | rust-f4dd1f9500e5d5fedc79994b23f9fdf79672ce71.tar.gz rust-f4dd1f9500e5d5fedc79994b23f9fdf79672ce71.zip | |
Updated error message E0252
| -rw-r--r-- | src/librustc_resolve/lib.rs | 6 | ||||
| -rw-r--r-- | src/test/compile-fail/double-import.rs | 3 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-26886.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/use-mod.rs | 3 |
4 files changed, 10 insertions, 4 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index c1511b29c9e..1c74546a4dc 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -3367,7 +3367,11 @@ impl<'a> Resolver<'a> { (true, _) | (_, true) => struct_span_err!(self.session, span, E0260, "{}", msg), _ => match (old_binding.is_import(), binding.is_import()) { (false, false) => struct_span_err!(self.session, span, E0428, "{}", msg), - (true, true) => struct_span_err!(self.session, span, E0252, "{}", msg), + (true, true) => { + let mut e = struct_span_err!(self.session, span, E0252, "{}", msg); + e.span_label(span, &format!("already imported")); + e + }, _ => { let mut e = struct_span_err!(self.session, span, E0255, "{}", msg); e.span_label(span, &format!("`{}` was already imported", name)); diff --git a/src/test/compile-fail/double-import.rs b/src/test/compile-fail/double-import.rs index 7b915647884..bd190a6df8e 100644 --- a/src/test/compile-fail/double-import.rs +++ b/src/test/compile-fail/double-import.rs @@ -7,8 +7,6 @@ // <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. -#![feature(no_core)] -#![no_core] // This tests that conflicting imports shows both `use` lines // when reporting the error. @@ -23,5 +21,6 @@ mod sub2 { use sub1::foo; //~ NOTE previous import of `foo` here use sub2::foo; //~ ERROR a value named `foo` has already been imported in this module [E0252] + //~| NOTE already imported fn main() {} diff --git a/src/test/compile-fail/issue-26886.rs b/src/test/compile-fail/issue-26886.rs index c849716f21a..46e82363c8b 100644 --- a/src/test/compile-fail/issue-26886.rs +++ b/src/test/compile-fail/issue-26886.rs @@ -11,7 +11,9 @@ use std::sync::{self, Arc}; //~ NOTE previous import //~^ NOTE previous import use std::sync::Arc; //~ ERROR a type named + //~| NOTE already imported use std::sync; //~ ERROR a module named + //~| NOTE already imported fn main() { } diff --git a/src/test/compile-fail/use-mod.rs b/src/test/compile-fail/use-mod.rs index bbb063770c1..6be878dce1f 100644 --- a/src/test/compile-fail/use-mod.rs +++ b/src/test/compile-fail/use-mod.rs @@ -15,7 +15,8 @@ use foo::bar::{ Bar, self //~^ NOTE another `self` import appears here -//~^^ ERROR a module named `bar` has already been imported in this module +//~| ERROR a module named `bar` has already been imported in this module +//~| NOTE already imported }; use {self}; |
