Z jakiegoś powodu kompilator Rusta narzeka, że Result
nie implementuje unwrap
, mimo że podany typ błędu implementuje debugowanie. Kod, który zawiera błąd, podano poniżej.Typ wyniku nie implementuje metody w zakresie o nazwie `unwrap`
use std::fmt::{Display, Debug};
use std::error::Error;
trait MyError: Error + Display + Debug {}
type MyResult<T> = Result<T, MyError>;
trait Foo: Clone {}
trait MyTrait {
fn my_function<T: Foo>(&self) -> MyResult<T>;
fn unwrap_function<T: Foo>(&self) -> T {
self.my_function().unwrap()
}
}