Decrusting the serde crate

Decrusting the serde crate

67.360 Lượt nghe
Decrusting the serde crate
In this stream, we peel back the crust on the serde crate — https://github.com/serde-rs/serde/ — and explore its interface, structure, and mechanisms. We talk about Serialize/Deserialize, Serializer/Deserializer, and the Visitor trait. We also get into the serde data model, and in particular the separation between data types, serde data values, and data formats. For more details about serde, see https://serde.rs/. I use `cargo expand` extensively in this video, which you can find here: https://github.com/dtolnay/cargo-expand The streaming calendar is at https://calendar.google.com/calendar/u/0?cid=NzE5YjZjZjA4YTlmMTFkYTRhNzMyMDgzYTQzYWEwMGE2MWE3OTQzZWE4NjRhNTc0MTdiNWRhMTNiMWZjOGNjYkBncm91cC5jYWxlbmRhci5nb29nbGUuY29t, with some other formats listed in https://twitter.com/jonhoo/status/1602067723986513920. 0:00:00 Introduction to "decrusted" 0:01:51 Regular streaming schedule 0:02:43 serde 0:04:28 The serde data model 0:14:51 Exploring serde's derived impls 0:17:05 Derived impl Serialize 0:27:56 Derived impl Deserialize 0:53:55 serde derive attributes 1:02:50 (De)serializing enum variants 1:07:31 Enum variant representations 1:24:32 Variant attributes 1:25:54 serde(borrow) 1:38:43 Writing data formats 1:49:48 Closing thoughts Live version with chat: https://youtu.be/9oVIyNiAiss