Vì một số lý do, trình biên dịch Rust phàn nàn rằng Result
không thực hiện unwrap
, mặc dù loại Lỗi mà tôi cung cấp không thực hiện Debug. Mã lỗi được cung cấp bên dưới.Loại kết quả không triển khai phương thức trong phạm vi có tên `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()
}
}