]> git.lizzy.rs Git - rust.git/blob - src/test/ui/rust-2018/extern-crate-idiomatic-in-2018.rs
72751f2080cc9b2d28f31ab179189438679dc9a1
[rust.git] / src / test / ui / rust-2018 / extern-crate-idiomatic-in-2018.rs
1 // Copyright 2018 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 // aux-build:edition-lint-paths.rs
12 // run-rustfix
13 // edition:2018
14
15 // The "normal case". Ideally we would remove the `extern crate` here,
16 // but we don't.
17
18 #![deny(rust_2018_idioms)]
19 #![allow(dead_code)]
20
21 extern crate edition_lint_paths;
22 //~^ ERROR unused extern crate
23
24 extern crate edition_lint_paths as bar;
25 //~^ ERROR `extern crate` is not idiomatic in the new edition
26
27 fn main() {
28     // This is not considered to *use* the `extern crate` in Rust 2018:
29     use edition_lint_paths::foo;
30     foo();
31
32     // But this should be a use of the (renamed) crate:
33     crate::bar::foo();
34 }
35