Rust 从父模块导入宏
我在板条箱中重新使用宏时遇到问题 如果宏是在Rust 从父模块导入宏,rust,rust-macros,rust-decl-macros,Rust,Rust Macros,Rust Decl Macros,我在板条箱中重新使用宏时遇到问题 如果宏是在/src/macros.rs中定义的: #[macro_export] macro_rules! my_macro { ... } #[macro_use] pub mod macros; my_macro!(...); 并用于/src/lib.rs: #[macro_export] macro_rules! my_macro { ... } #[macro_use] pub mod macros; my_macro!(...
/src/macros.rs
中定义的:
#[macro_export]
macro_rules! my_macro {
...
}
#[macro_use]
pub mod macros;
my_macro!(...);
并用于/src/lib.rs
:
#[macro_export]
macro_rules! my_macro {
...
}
#[macro_use]
pub mod macros;
my_macro!(...);
我在/src/submod/lib.rs
中看不到此宏:
#[macro_export]
macro_rules! my_macro {
...
}
#[macro_use]
pub mod macros;
my_macro!(...);
它会产生错误消息error:macro undefined:“my_macro!”代码>
有没有办法将这个宏导入子模块submod
?我找到了!它是自动导入的,但我没有意识到宏是按顺序导入的
我在macros
之前导入了submod
模块,因此my_macros
还不可见。通过交换顺序,我得到了预期的行为。最好能看到前后修复它的代码位。我还希望看到解决这个问题的代码