The following gives a suggestion to remove the `extern crate` which results in broken code in 2018. ```rust #![warn(unused_extern_crates)] extern crate proc_macro; // suggests removing this which is incorrect. pub mod m { pub fn f(_ts: proc_macro::TokenStream) { } } ``` The lint doesn't fire if the crate is used in the root module.