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

时间:2015-06-04 18:14:50

标签: macros documentation rust

我在模块中定义了一个宏,它运行正常。 现在,我试图用一个例子记录所述宏。 Apparently,我需要手动指定crate行来询问宏:

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

但是,我现在收到错误说:

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

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

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

1 个答案:

答案 0 :(得分:2)

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

所以我所做的只是添加:

/// # fn main() { }