当您想共享一个使用过程宏的库时,双箱方法 foo
/foo_derive
是不可避免的吗?
我想提供一个包含逻辑和宏的 crate 。我尝试的第一件事是:
my_proc_macro
├── Cargo.toml
├── src/lib.rs
└── my_crate
├── Cargo.toml
└── src/lib.rs
在my_proc_macro
crate 中,我尝试pub use my_crate::*;
但这样做是被禁止的:编译器拒绝构建它。
是否可以反过来做?我的意思是:将程序宏包导入库,然后重新导出宏?
最佳答案
重新导出宏实际上非常简单。简单地使用
#[macro_use]
extern crate my_proc_macro;
在 my_crate
的根目录中。
The serde
crate can be used this way when enabling the feature serde_derive
.
2018年版,还可以explicitly re-export proc macros using use
declarations .
关于macros - 是否可以在一个箱子中同时包含程序宏和逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52930744/