2018-05-23 23:25:59 +00:00
|
|
|
//@ aux-build:edition-lint-paths.rs
|
|
|
|
//@ run-rustfix
|
2018-08-24 15:51:32 +00:00
|
|
|
//@ compile-flags:--extern edition_lint_paths
|
2018-08-16 07:36:11 +00:00
|
|
|
//@ edition:2018
|
2018-05-23 23:25:59 +00:00
|
|
|
|
|
|
|
// The "normal case". Ideally we would remove the `extern crate` here,
|
|
|
|
// but we don't.
|
|
|
|
|
2018-05-25 20:53:49 +00:00
|
|
|
#![deny(rust_2018_idioms)]
|
2018-05-23 23:25:59 +00:00
|
|
|
#![allow(dead_code)]
|
|
|
|
|
|
|
|
extern crate edition_lint_paths;
|
|
|
|
//~^ ERROR unused extern crate
|
|
|
|
|
2019-04-25 07:06:49 +00:00
|
|
|
// Shouldn't suggest changing to `use`, as `bar`
|
|
|
|
// would no longer be added to the prelude which could cause
|
|
|
|
// compilation errors for imports that use `bar` in other
|
|
|
|
// modules. See #57672.
|
2018-05-23 23:25:59 +00:00
|
|
|
extern crate edition_lint_paths as bar;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
// This is not considered to *use* the `extern crate` in Rust 2018:
|
|
|
|
use edition_lint_paths::foo;
|
|
|
|
foo();
|
|
|
|
|
|
|
|
// But this should be a use of the (renamed) crate:
|
|
|
|
crate::bar::foo();
|
|
|
|
}
|