Support code for encoding and decoding types.
- A byte that cannot occur in UTF8 sequences. Used to mark the end of a string. This way we can skip validation and still be relatively sure that deserialization did not desynchronize.
- Trait for types that can be deserialized
- This current does not support
f64, as they’re not needed in any serialized data structures. That could be changed, but consider whether it really makes sense to store floating-point values at all. (If you need it, revert https://github.com/rust-lang/rust/pull/109984.)
- Trait for types that can be serialized
- A note about error handling.