我在模块中定义了一个宏,它工作正常.
现在,我试图用一个例子记录所述宏.
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() { }