从父模块导入宏

时间:2015-06-28 18:20:21

标签: rust rust-macros rust-decl-macros

我无法在套餐箱中重复使用宏。

如果在./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中导入此宏吗?

1 个答案:

答案 0 :(得分:6)

我明白了!它是自动导入的,但我没有意识到宏是按顺序导入的!

我在submod之前导入了macros模块,因此{em}尚未显示my_macro 。通过交换订单,我得到了预期的行为。

相关问题