创建一个 de::ErrorKind 并为 de::Error 创建一个 kind 方法
作者: adityashah1212创建于 2026年7月14日更新于 2026年7月14日
当前 `de::Error` 的问题在于,它丢弃了 _kind_ 信息,默认情况下,一切都归结为 `de::Error::custom`,并且不要求 `de::Error` 实现保留此信息。拥有此信息可以帮助包装器 `Deserializer` 或甚至包装错误,生成更详细的错误消息。但是由于此信息从技术上来讲已丢失,在许多情况下,错误消息最多只能是模糊的,尤其是在处理复杂场景时。说实话,我不确定我们如何才能做到这一点而不破坏 API,但更好的错误暴露无疑是所期望的。
内容来源: serde-rs/serde