]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_error_codes/src/error_codes/E0466.md
Rollup merge of #92310 - ehuss:rustdoc-ice, r=estebank
[rust.git] / compiler / rustc_error_codes / src / error_codes / E0466.md
1 Macro import declaration was malformed.
2
3 Erroneous code examples:
4
5 ```compile_fail,E0466
6 #[macro_use(a_macro(another_macro))] // error: invalid import declaration
7 extern crate core as some_crate;
8
9 #[macro_use(i_want = "some_macros")] // error: invalid import declaration
10 extern crate core as another_crate;
11 ```
12
13 This is a syntax error at the level of attribute declarations. The proper
14 syntax for macro imports is the following:
15
16 ```ignore (cannot-doctest-multicrate-project)
17 // In some_crate:
18 #[macro_export]
19 macro_rules! get_tacos {
20     ...
21 }
22
23 #[macro_export]
24 macro_rules! get_pimientos {
25     ...
26 }
27
28 // In your crate:
29 #[macro_use(get_tacos, get_pimientos)] // It imports `get_tacos` and
30 extern crate some_crate;               // `get_pimientos` macros from some_crate
31 ```
32
33 If you would like to import all exported macros, write `macro_use` with no
34 arguments.