没有为类型`hyper :: mime :: Mime`找到名为`from_str`的​​函数或关联项

时间:2018-02-07 04:14:26

标签: rust

我正在使用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()

为什么会出现这个错误,原因是什么?如何解决?

1 个答案:

答案 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();