-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Unknown
-
Affects Version/s: None
-
Component/s: None
-
None
-
None
-
Rust Drivers
-
None
-
None
-
None
-
None
-
None
-
None
All of our public option structs use a combination of non_exhaustive and generated builders to allow for future expansion and convenient construction. Rather than generated builders, we should just provide a Default impl for those structs so they can be constructed directly by users with a trailing ..Default::default(); this gets us the same benefit, fits more with general Rust patterns, and removes a dependency and a big swath of generated code that's inflating compile time.
Since this is a substantial (if somewhat mechanical) API surface change, we can make the Default impls available in 3.x and tag the builders as deprecated to prepare users.