Deser: A Rust Serialization Library That Never Overflows the Stack

Deser: Rethinking Rust Serialization

Deser: A Rust Serialization Library That Never Overflows the Stack

Armin Ronacher's Deser is a new Rust serialization library that inverts Serde's architecture: instead of types driving deserialization through recursive visitors, the format pushes events into heap-allocated sinks. This eliminates stack overflows, enables suspendable parsing, and provides lossless buffering with composable adapters. Deser supports JSON, YAML, TOML, CBOR, XML, and more, but accepts tradeoffs like larger binaries and mixed runtime performance. It's not a drop-in replacement, but it's a compelling experiment.

In Serde, a type drives the deserialization process... Deser on the other hand turns this around and the format tells the type of the next value and pushes events into a sink.
  1. satvikpendem

    How does this compare to facet [0][1] by fasterthanlime? Seems some of the reasoning is similar especially for compile time bloat.

    [0] https://facet.rs

    [1] https://fasterthanli.me/articles/introducing-facet-reflectio...

  2. ramon156

    next time just write the post yourself. I don't need an entire paragraph to explain that deser = serde but reshuffled

  3. duhhhhh1212

    https://www.pangram.com/history/5f1c86e9-2b47-4d36-9e64-2191...

More from this day

2026-09-29