Deser:重塑 Rust 序列化的新尝试
Deser: Rethinking Rust Serialization

Serde 是 Rust 生态中不可或缺的序列化库,但我在 Sentry 使用它时,常遇到一些设计上的局限。比如内部标记枚举与任意精度数字的冲突、flatten 导致整数键失效、适配器无法组合等问题,这些并非 bug,而是 Serde 架构的必然结果。2022 年我启动了 Deser 项目,试图在保留 Serde 用户体验的同时,采用完全不同的架构。Deser 将格式驱动事件推送给类型,而非类型驱动解析,从而避免栈溢出、支持流式解析,并提供更灵活的数据模型和扩展机制。虽然 Deser 在编译时间和二进制体积上有所妥协,但它已能支持 JSON、YAML、TOML、XML 等多种自描述格式,成为 Serde 的潜在替代方案。
- satvikpendem
这和 fasterthanlime 开发的 facet [0][1] 相比如何?看来有些理由很相似,尤其是关于编译时膨胀的问题。
[0] https://facet.rs
[1] https://fasterthanli.me/articles/introducing-facet-reflectio...
- duhhhhh1212
https://www.pangram.com/history/5f1c86e9-2b47-4d36-9e64-2191...
- ramon156
下次干脆自己写帖子吧。我不需要一整段话来说明 deser = serde,只是重新排列了一下。