error[E0428]: the name `mac` is defined multiple times --> $DIR/pub-macro-rules-fail.rs:8:5 | LL | pub macro_rules! mac { () => {} } | -------------------- previous definition of the macro `mac` here ... LL | pub macro_rules! mac { () => {} } | ^^^^^^^^^^^^^^^^^^^^ `mac` redefined here | = note: `mac` must be defined only once in the macro namespace of this module error[E0433]: failed to resolve: maybe a missing crate `mac`? --> $DIR/pub-macro-rules-fail.rs:22:12 | LL | crate::mac!(); | ^^^ maybe a missing crate `mac`? error[E0433]: failed to resolve: maybe a missing crate `block_mac`? --> $DIR/pub-macro-rules-fail.rs:23:12 | LL | crate::block_mac!(); | ^^^^^^^^^ maybe a missing crate `block_mac`? error: cannot find macro `mac` in this scope --> $DIR/pub-macro-rules-fail.rs:19:5 | LL | mac!(); | ^^^ | = note: consider importing this macro: m::mac error[E0603]: macro `private_mac` is private --> $DIR/pub-macro-rules-fail.rs:25:15 | LL | crate::m::private_mac!(); | ^^^^^^^^^^^ private macro | note: the macro `private_mac` is defined here --> $DIR/pub-macro-rules-fail.rs:10:5 | LL | pub(self) macro_rules! private_mac { () => {} } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 5 previous errors Some errors have detailed explanations: E0428, E0433, E0603. For more information about an error, try `rustc --explain E0428`.