我正在使用Hyper 0.11重新导出箱子“mime”。我正在尝试从字符串创建MIME类型:
error[E0599]: no function or associated item named `from_str` found for type `hyper::<unnamed>::Mime` in the current scope
错误:
setState()
为什么会出现这个错误,原因是什么?如何解决?
答案 0 :(得分:4)
您收到此错误的原因是,Mime
上没有定义from_str
方法。为了解析Mime::from_str
这样的名称,from_str
必须是Mime
的固有方法(不属于特征),或属于范围内的特征的一部分。它被使用的地方。 FromStr
不在范围内,因此您会收到错误 - 尽管错误消息会告诉您错误以及如何解决错误:
error[E0599]: no function or associated item named `from_str` found for type `hyper::<unnamed>::Mime` in the current scope
--> src/main.rs:3:13
|
3 | let test1 = hyper::mime::Mime::from_str("text/html+xml").unwrap();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: items from traits can only be used if the trait is in scope
= note: the following trait is implemented but not in scope, perhaps add a `use` for it:
candidate #1: `use std::str::FromStr;`
但是,在此特定的情况下,更常见的是使用FromStr
而不是直接调用from_str
,而是通过parse
方法间接调用str
1}},如FromStr
's documentation所述。
let test1: hyper::mime::Mime = "text/html+xml".parse().unwrap();