如何创建字符串io ::错误

时间:2017-02-01 01:26:23

标签: error-handling rust std traits

Rust docs显示正在使用

创建std::io::Error
let custom_error = Error::new(ErrorKind::Other, "oh no!");

new的{​​{3}}

fn new<E>(kind: ErrorKind, error: E) -> Error 
  where E: Into<Box<std::error::Error + Send + Sync>>

我找到了impl<T: std::error::Error> std::error::Error for Box<T> &'static str但找不到Into<Error>的内容,就像示例中使用的那样。

用什么特性来实现字符串的clear()

1 个答案:

答案 0 :(得分:3)

假设:

  • impl<'a> From<&'a str> for Box<Error>(请参阅From文档)
  • impl<T, U> Into<U> for T where U: From<T>(请参阅Into文档)

替换T = &'a strU = Box<Error>,它们会为您提供:

  • impl<'a> Into<Box<Error>> for &'a str