»Schedule // Talk
Friday, October 10
13:45–14:15
Side Stage

A Deep Dive into Serde-Driven Reflection

Do you know what code is generated when you use #[derive(Deserialize)]? And what that has to do with API design, reflection, and ergonomics?

In this talk, we’ll explore a way to use the Serde (de)serialization crate to build an API that would otherwise be painful to use in a statically typed language like Rust.

We’ll dive into Serde’s internals from two angles: the struct being deserialized, and the deserializer driving the process - and how they are connected by Serde’s unique trait architecture.

We’ll finish by writing our own deserializer, enabling a form of compile-time reflection and allowing us to materialize user-defined structs without a custom trait or a complex procedural macro.

Speaker

Ohad Ravid

Software Engineer at Wiz

I love building stuff, sushi and tea.

I’ve been working in software for more than 15 years, in a lot of different areas (networking, backend, big data, frontend, embedded) and in a variety of languages (C, Python, TypeScript, Rust).

Get tickets