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.

More from this day

2026-09-29