【问题标题】:Import macro from parent module [duplicate]从父模块导入宏[重复]
【发布时间】:2015-09-15 04:19:54
【问题描述】:

我无法在 crate 中重复使用宏。

如果在./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】:

    我想通了!是自动导入的,没想到宏是按顺序导入的!

    我在macros 之前导入了submod 模块,所以my_macro 不可见。通过交换顺序,我得到了预期的行为。

    【讨论】:

    • 很高兴看到修复它之前和之后的代码。
    • 我也想看看解决这个问题的代码
    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2019-09-16
    相关资源
    最近更新 更多