Skip to content

Commit 4b75a5d

Browse files
committed
Add compile-fail tests for #19498
1 parent 7403b0c commit 4b75a5d

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

src/librustc/middle/resolve.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -3055,8 +3055,9 @@ impl<'a> Resolver<'a> {
30553055
.contains_key(&name) {
30563056
match import_resolution.type_target {
30573057
Some(ref target) if !target.shadowable => {
3058-
let msg = format!("import `{}` conflicts with imported \
3059-
crate in this module",
3058+
let msg = format!("import `{0}` conflicts with imported \
3059+
crate in this module \
3060+
(maybe you meant `use {0}::*`?)",
30603061
token::get_name(name).get());
30613062
self.session.span_err(import_span, msg.as_slice());
30623063
}

src/test/compile-fail/issue-19498.rs

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
use self::A; //~ ERROR import `A` conflicts with existing submodule
12+
use self::B; //~ ERROR import `B` conflicts with existing submodule
13+
mod A {}
14+
pub mod B {}
15+
16+
mod C {
17+
use C::D; //~ ERROR import `D` conflicts with existing submodule
18+
mod D {}
19+
}
20+
21+
fn main() {}

src/test/compile-fail/unresolved-extern-mod-suggestion.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
// except according to those terms.
1010

1111
extern crate core;
12-
use core; //~ ERROR unresolved import (maybe you meant `core::*`?)
12+
use core;
13+
//~^ ERROR import `core` conflicts with imported crate in this module
1314

1415
fn main() {}

0 commit comments

Comments
 (0)