是否可以扩展单个宏而不是整个文件?

时间:2018-08-19 11:49:23

标签: rust rust-cargo rust-macros

我刚发现How do I see the expanded macro code that's causing my compile error?。是否可以扩展单个宏而不是整个文件?

2 个答案:

答案 0 :(得分:9)

cargo-expand命令实际上只是cargo rustc -- -Zunstable-options --pretty=expanded的薄包装,它本身是一个钝器。您不能定位到特定的宏。

但是,自version 0.4起,您可以通过指定额外的path参数以仅扩展该模块使用的宏来减少噪声:

$ cargo expand path::to::module

答案 1 :(得分:5)

“显示扩展的宏”和“显示递归扩展的宏”命令分别为recently addedIntelliJ Rust

来自CLion blog post的gif演示:

Demo