-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Background
The SDK adopted bon v3.8.2 for RestTransportBuilder and GrpcTransportBuilder (see PRD.md). Several builder patterns were intentionally not converted due to bon limitations:
- IntoFuture builders (11 total):
bongenerates.build()finalizers, breaking ergonomic.awaitsyntax - ClientBuilder typestate:
bondoesn't support phantom type state transitions - Streaming builders:
bonexpects single finalizer, but these have dual finalizers (.collect()+.stream())
Features to Monitor
| Feature | Use Case | Monitor For |
|---|---|---|
| IntoFuture support | Ergonomic async API | #[builder(finish_fn = into_future, trait = "IntoFuture")] |
| Dual finalizers | Streaming APIs | #[builder(finish_fn = ["collect", "stream"])] |
| Typestate support | Compile-time requirement enforcement | Improved phantom type support |
Quarterly Review Checklist
- Check
bonchangelog for new features - Review bon GitHub releases
- Evaluate if any preserved builders can now be converted
- Update this issue with findings
References
- Current
bonversion:=3.8.2 - PRD:
PRD.mdin this repo - Builder pattern guidelines:
CONTRIBUTING.md
Metadata
Metadata
Assignees
Labels
No labels