我无法在套餐箱中重复使用宏。
如果在./src/macros.rs
中定义了一个宏:
#[macro_export]
macro_rules! my_macro {
...
}
并在./src/lib.rs
中使用:
#[macro_use]
pub mod macros;
我无法在./src/submod/lib.rs
中看到此宏:
my_macro!(...);
它会产生错误消息error: macro undefined: 'my_macro!'
。
我可以在此子模块submod
中导入此宏吗?
答案 0 :(得分:6)
我明白了!它是自动导入的,但我没有意识到宏是按顺序导入的!
我在submod
之前导入了macros
模块,因此{em}尚未显示my_macro
。通过交换订单,我得到了预期的行为。