Brussels / 3 & 4 February 2024


The journey of hacking in a new serde dataformat

The latest version of neo4rs—a Rust driver for the Neo4j graph database developed under the "Neo4j Labs" incubator—changes its API for reading data to use serde. Serde is a library for serialization and deserialization of any user-defined type into and from a number of different data formats. Most material about serde focuses on the user-defined types, though for this talk, I want to present the—still ongoing—journey of building a new bolt dataformat for serde. Follow me down the rabbit hole and peek under the hood of serde to show how the various types and traits interact, what gotchas and caveats await and how to craft an API that is more than just 1:1 struct <--> data mapping.


Photo of Paul Horn Paul Horn