宏 – 如果宏在模块中定义,如何正确编写宏文档?

我在模块中定义了一个宏,它工作正常.

现在,我试图用一个例子记录所述宏.
Apparently,我需要手动指定crate行来询问宏:

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

但是,我现在得到一个错误说:

error: an `extern crate` loading macros must be at the crate root

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

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

最佳答案 添加一个主要功能就可以了.我的示例代码不需要运行任何东西(只是编译)所以我甚至不打扰添加一个main函数,但显然添加它将代码放在一个虚拟的“crate root”中,它接受macro_use.好极了!

所以我做的只是添加:

/// # fn main() { }
点赞