从父模块导入宏[重复]

问题描述 投票:8回答:1

这个问题在这里已有答案:

我在箱子里重复使用宏时遇到了麻烦。

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

rust rust-macros rust-decl-macros
1个回答
6
投票

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

我在submod之前导入了macros模块,所以my_macro还没有看到。通过交换订单,我得到了预期的行为。

© www.soinside.com 2019 - 2024. All rights reserved.