-
Type: Task
-
Resolution: Unresolved
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: None
-
None
-
Rust Drivers
(For the distinction between en/decoding and [de]serialization, see RUST-1992)
Raw bson types were introduced into the bson crate by way of a user contribution that incorporated the code from a previously-independent crate. As such, they have duplicate code for en/decoding byte buffers and interacting with serde, with various areas of subtle divergence versus the older parsed type equivalents.
The raw bson types are substantially more efficient (and conceptually more fundamental) than the parsed types, so the byte parsing and serde interop of the latter should be stripped in favor of a thin layer around the former.