我在模块中定义了一个宏,并且工作正常。
现在,我正在尝试用示例记录所说的宏。 Apparently,我需要手动指定 crate 行以请求宏:

/// ```
/// # #[macro_use] extern crate foo;
/// // Some code
/// ```

但是,我现在收到一条错误消息:
error: an `extern crate` loading macros must be at the crate root

显然示例代码已加载到宏的模块中,似乎与macro_use不兼容...

我不敢相信每个人都直接在根模块中写宏...对吗?

最佳答案

加上一个主要功能就可以了。我的示例代码不需要运行任何内容(只需编译),因此我什至无需添加主函数,但显然添加它会将代码置于虚拟的“板条根”中,并且接受macro_use。耶!

所以我所做的只是添加:

/// # fn main() { }

关于macros - 如果宏是在模块中定义的,我该如何正确编写宏文档?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31092230/

10-10 16:27