| //@ aux-build:edition-lint-paths.rs |
| //@ run-rustfix |
| //@ compile-flags:--extern edition_lint_paths |
| //@ edition:2018 |
| |
| // The "normal case". Ideally we would remove the `extern crate` here, |
| // but we don't. |
| |
| #![deny(rust_2018_idioms)] |
| #![allow(dead_code)] |
| |
| //~^ ERROR unused extern crate |
| |
| // 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. |
| 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(); |
| } |