-
Type: New Feature
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: BSON
-
None
Currently, theĀ Bson::Decimal128 case is behind a feature flag. Bson is not marked as non_exhaustive however, so decimal128 support cannot be enabled without a feature flag until 2.0. Likewise, when users enabl the feature flag, it may break their existing code.
To avoid this, we can include a Bson::Decimal128 case which wraps an opaque type. Any API on this type we can hide behind an unstable feature flag, and we can stabilize the API as we implement it in RUST-36 later on without a major version bump. Internally, we can just store a buffer of BSON bytes that we round trip to the server.