diff options
Diffstat (limited to 'tests/ui/imports/extern-crate-used.rs')
-rw-r--r-- | tests/ui/imports/extern-crate-used.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/ui/imports/extern-crate-used.rs b/tests/ui/imports/extern-crate-used.rs new file mode 100644 index 000000000..8198c1816 --- /dev/null +++ b/tests/ui/imports/extern-crate-used.rs @@ -0,0 +1,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() {} |