impl<T: Debug + core_error::Error> From<T> for IFError {
Однако когда я пытаюсь обработать другую ошибку (serde_cbor::Error) с помощью ?, это не работает: the trait bound `serde_cbor::Error: core_error::Error is not satisfied`
Чтобы это исправить, я делаю impl From<serde_cbor::Error> for IFError, но получаю следующее: conflicting implementations of trait core::convert::From<serde_cbor::Error> for type res::IFError со ссылкой на impl для core_error, потому что upstream crates may add a new impl of trait core_error::Error for type serde_cbor::Error in future versions
Как сделать так, чтобы можно было ошибки автоматически превращать в этот тип?
P.S. core_error::Error используется вместо std::error::Error, т.к. no_std
Или убрать From<T> for IFError и реализовать конверсию для конкретных типов, или сделать тип-враппер для serde_cbor::Error (но это не "автоматически").
Обсуждают сегодня