Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/librustc_resolve/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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));
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