summaryrefslogtreecommitdiffstats
path: root/tests/ui/imports/extern-crate-used.rs
blob: 8198c1816a1412976164632b6d1c6b1b5899fc11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Extern crate items are marked as used if they are used
// through extern prelude entries introduced by them.

// edition:2018

#![deny(unused_extern_crates)]

// Shouldn't suggest changing to `use`, as new name
// would no longer be added to the prelude which could cause
// compilation errors for imports that use the new name in
// other modules. See #57672.
extern crate core as iso1;
extern crate core as iso2;
extern crate core as iso3;
extern crate core as iso4;

// Doesn't introduce its extern prelude entry, so it's still considered unused.
extern crate core; //~ ERROR unused extern crate

mod m {
    use iso1::any as are_you_okay1;
    use ::iso2::any as are_you_okay2;
    type AreYouOkay1 = dyn iso3::any::Any;
    type AreYouOkay2 = dyn (::iso4::any::Any);

    use core::any as are_you_okay3;
    use ::core::any as are_you_okay4;
    type AreYouOkay3 = dyn core::any::Any;
    type AreYouOkay4 = dyn (::core::any::Any);
}

fn main() {}