在实现Deserialize
时,如何返回错误?
impl<'de> Deserialize<'de> for Response {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer<'de> {
... // Which error to return here?
}
}
在这里,每个错误都必须可以转换成
D::Error
,但是 D::Error
可以是任何类型。因此,我无法创建一个可转换为 D::Error
的类型。如何处理这种情况?我几乎肯定有一些方法可以创建一个可以返回错误的反序列化程序,但我不知道怎么做。