Error code E0468
A non-root module tried to import macros from another crate.
Example of erroneous code:
#![allow(unused)] fn main() { mod foo { #[macro_use(debug_assert)] // error: must be at crate root to import extern crate core; // macros from another crate fn run_macro() { debug_assert!(true); } } }
Only extern crate
imports at the crate root level are allowed to import
macros.
Either move the macro import to crate root or do without the foreign macros. This will work:
#[macro_use(debug_assert)] // ok! extern crate core; mod foo { fn run_macro() { debug_assert!(true); } } fn main() {}