如何在 Rust 中将多个通用错误类型包装在自定义 Error 枚举周围。这很简单,我只想让它工作。
enum Error<SPIE, PINE> {
SpiError(SPIE),
PinError(PINE),
// other custom errors
}
impl<SPIE,PINE> From<SPIE> for Error<SPIE,PINE> {
fn from(value: SPIE) -> Self {
Self::SpiError(value)
}
}
impl<SPIE,PINE> From<PINE> for Error<SPIE,PINE> {
fn from(value: PINE) -> Self {
Self::PinError(value)
}
}
相反,编译器抱怨说:
conflicting implementations of trait `From<_>` for type `Error<_, _>`
我理解这一点,但也许我可以以某种方式区分这两种类型……