我正在尝试使用来自超级包的impl_header宏来实现自定义HTTP标头,但它似乎无法解析hyper::header
模块。
这是我的代码:
#[macro_use] extern crate hyper;
use hyper::header;
struct CustomHeader;
impl_header!(CustomHeader, "value", String);
这是编译器错误:
<hyper macros>:11:14: 11:20 error: unresolved import `header::HeaderFormat`. Maybe a missing `extern crate header`?
<hyper macros>:11 Result { use header:: HeaderFormat ; self . fmt_header ( f ) } } }
^~~~~~
<hyper macros>:1:1: 11:67 note: in expansion of impl_header!
lib.rs:4:1: 4:45 note: expansion site
error: aborting due to previous error
Could not compile `macro_issue`.
任何线索为何会发生这种情况以及如何解决?
谢谢
答案 0 :(得分:1)
我同意Renato认为这是hyper的一个问题,你应该提交一个bug(甚至更好的拉取请求!)。如果您现在想要解决此问题,可以将header
重新导出为您自己:
#[macro_use]
extern crate hyper;
pub use hyper::header as header;
struct CustomHeader;
impl_header!(CustomHeader, "value", String);
fn main() {}
不幸的是,这只是解开了一大堆新的错误,我会让你弄清楚!