gpt4 book ai didi

rust - 调用外部包中定义的宏时未解析的导入

转载 作者:行者123 更新时间:2023-11-29 08:30:23 31 4
gpt4 key购买 nike

我正在尝试使用 impl_header 实现自定义 HTTP header 来自 hyper crate 的宏,但它似乎无法解析 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`.

知道为什么会发生这种情况吗?我该如何解决?

谢谢

最佳答案

我同意 Renato 的观点,这是 hyper 的一个问题,你应该提交一个错误(或者最好是一个 pull request!)。不过,如果您现在想解决这个问题,您可以将 header 重新导出为您自己的:

#[macro_use]
extern crate hyper;

pub use hyper::header as header;

struct CustomHeader;
impl_header!(CustomHeader, "value", String);

fn main() {}

不幸的是,这只会引发一波全新的错误,我会让您弄清楚!

关于rust - 调用外部包中定义的宏时未解析的导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28526180/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com