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