// 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() {}