Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d2e2ec60-4490-44b2-8717-aad478da5b0a
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d2e2ec60-4490-44b2-8717-aad478da5b0a
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d2e2ec60-4490-44b2-8717-aad478da5b0a
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d2e2ec60-4490-44b2-8717-aad478da5b0a
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #645 +/- ##
=======================================
Coverage 100.0% 100.0%
=======================================
Files 473 473
Lines 45493 45493
=======================================
Hits 45493 45493
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
martintmk
left a comment
There was a problem hiding this comment.
Posted by an AI agent
Three non-blocking stabilization gaps remain in the proposed bytesbuf 1.0 checklist; this documentation-only PR leaves the paired public API surface unchanged.
Coverage: API design, correctness, tests, performance, naming, telemetry, resilience, consistency, public API, and public docs all completed at cf75956bf67d44c381889e1900933fa9fdb6417c; the public API comparison was byte-identical.
|
|
||
| Stabilize the provider contracts needed by consumers and I/O implementations: | ||
|
|
||
| - `Memory` for reserving owned writable capacity. |
There was a problem hiding this comment.
Posted by an AI agent · Non-blocking
Memory stabilization omits allocation-failure semantics
Problem
The proposed stable boundary includes Memory, but the checklist does not decide whether reserve remaining infallible - with implementations permitted to panic or abort when capacity is unavailable - is intentional.
Why this matters
Changing this contract after 1.0 to return a typed allocation error would break downstream implementations and callers, while the current shape cannot represent recoverable resource pressure.
Suggested fix
Add an explicit stabilization decision: either document panic/abort as the stable invariant or define a fallible reservation path before 1.0.
|
|
||
| - [ ] Explicitly list and review every method included for `BytesBuf` and | ||
| `BytesView`. | ||
| - [ ] Confirm the writable-slice and vectored-write APIs support the approved |
There was a problem hiding this comment.
Posted by an AI agent · Non-blocking
The checklist depends on an unavailable approved I/O design
Problem
This item requires validation against "the approved owned-buffer Read/Write design," but the newly added docs/DESIGN.md is empty and no repository document here defines or links that design.
Why this matters
Reviewers cannot independently determine the contract that the writable-slice and vectored-write APIs must satisfy before stabilization.
Suggested fix
Document the approved design in DESIGN.md and link it here, or link the existing authoritative design and remove the empty placeholder.
| - `BytesBuf` for assembling and owning writable byte sequences. | ||
| - `BytesView` for sharing and consuming immutable byte sequences. | ||
| - The iterator and cursor types returned by their stable operations: | ||
| `BytesBufRemaining`, `BytesBufVectoredWrite`, and `BytesViewSlices`. |
There was a problem hiding this comment.
Posted by an AI agent · Non-blocking
BytesBufRemaining diverges from the slice-iterator family
Problem
The proposed stable list includes BytesBufRemaining, which is returned by BytesBufVectoredWrite::slices_mut(), while the sibling immutable iterator is named BytesViewSlices.
Why this matters
Stabilizing the current name makes the related immutable and mutable slice iterators harder to discover and understand as one API family.
Suggested fix
Consider renaming it to BytesBufSlicesMut before stabilization and update user-facing references.
Summary
Adds pending stabilization notes for the
bytesbufcrate based on O365 Core work item 7688114. The notes record the proposedBytesBuf,BytesView, owned-buffer I/O, and memory-provider stable boundary, along with deferred low-level APIs and unresolved review items. Also adds an emptydocs/DESIGN.mdplaceholder.Validation
just package=bytesbuf formatjust package=bytesbuf readmecargo build -p bytesbufcargo test -p bytesbufgit diff --checkcargo-spellcheckprocess exits during startup on this machine; the GitHub spell-check job passed.Review
BlockMetaexposure points were addressed.