Skip to content

Commit

Permalink
Auto merge of #35362 - medzin:E0252, r=GuillaumeGomez
Browse files Browse the repository at this point in the history
Updated error message E0252

Fixes #35306 as part of #35233.

r? @GuillaumeGomez
  • Loading branch information
bors authored Aug 6, 2016
2 parents 444ff9f + f4dd1f9 commit 1518459
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
6 changes: 5 additions & 1 deletion src/librustc_resolve/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3375,7 +3375,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));
Expand Down
3 changes: 1 addition & 2 deletions src/test/compile-fail/double-import.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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() {}
2 changes: 2 additions & 0 deletions src/test/compile-fail/issue-26886.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
}
3 changes: 2 additions & 1 deletion src/test/compile-fail/use-mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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};
Expand Down

0 comments on commit 1518459

Please sign in to comment.