我在模块中定义了一个宏,它运行正常。 现在,我试图用一个例子记录所述宏。 Apparently,我需要手动指定crate行来询问宏:
/// ```
/// # #[macro_use] extern crate foo;
/// // Some code
/// ```
但是,我现在收到错误说:
error: an `extern crate` loading macros must be at the crate root
显然示例代码加载在宏的模块中,似乎与macro_use
不兼容...
我不敢相信每个人都直接在根模块中编写宏...对吗?
答案 0 :(得分:2)
添加主要功能就可以了。我的示例代码不需要运行任何东西(只是编译)所以我甚至不打扰添加一个main函数,但显然添加它将代码放在一个虚拟的“crate root”中,它接受macro_use。耶!
所以我所做的只是添加:
/// # fn main() { }