Failure<E>>;
E - тип ошибки, тип ошибки может получаться из других ошибок с помощью Into::into. В чисто эргономических целях был бы полезен такой impl:
impl<T, R> From<R> for Failure<T>
where
T: From<R>,
{
fn from(value: R) -> Self {
todo!()
}
}
Но он ломается об
conflicting implementations of trait `std::convert::From<schemas::result::Failure<_>>` for type `schemas::result::Failure<_>`
conflicting implementation in crate `core`:
- impl<T> std::convert::From<T> for T;
Можно ли это как-то в теории обойти? nightly решения тоже пойдут
не даже полной специализации не хватит
в найтли можно попробовать сделать полностью свой резалт с имплементациями Try и FromResidual как надо
Обсуждают сегодня