|
46 | 46 | bound and accepts strictly more closures. Crucially this is the *freeze-safe* |
47 | 47 | side: loosening a bound later is non-breaking, tightening is breaking — so the |
48 | 48 | permissive state is the right one to lock. |
| 49 | +- **Keep the batch free-fn argument order `output_all(commands, concurrency, |
| 50 | + runner)`** (and `output_all_bytes`). It reads "what to run, how many at once, |
| 51 | + who runs them"; the three arguments are distinctly typed so a mis-order won't |
| 52 | + compile, and the order has been stable across many releases. The runner trails a |
| 53 | + scalar (unlike the receiver-style `runner.checked(..)`), but these are |
| 54 | + free-function batch helpers with no receiver, so there is no convention to |
| 55 | + violate. Frozen as-is. |
49 | 56 | - **Keep `Copy` on the small scalar value types** (`Outcome`, |
50 | 57 | `OutputBufferPolicy`, `ResourceLimits`, `ProcessGroupStats`, `RunProfile`, and |
51 | 58 | the unit-ish enums). They are all-scalar; `Copy` is a real ergonomic and the |
|
86 | 93 | - Features are additive; default set is `process-control` only; the `mock` |
87 | 94 | expectation surface is semver-exempt and feature-gated. MSRV 1.88 / edition 2024. |
88 | 95 |
|
| 96 | +## Additive polish landed this round (not freeze-critical, done for day-one consistency) |
| 97 | + |
| 98 | +`SupervisionOutcome` now derives `Clone`/`PartialEq`/`Eq` (was `Debug`-only) — it |
| 99 | +was the lone result type without them. Additive, but shipped now so the result-type |
| 100 | +surface is uniform on release. |
| 101 | + |
89 | 102 | ## Genuinely deferred (additive — safe to add after 1.0, not freeze-critical) |
90 | 103 |
|
91 | | -`Clone`/`PartialEq` on `SupervisionOutcome`; builder methods on `ResourceLimits`; |
92 | | -more crate-root free fns (`output_bytes` / `run_unit`); an `Outcome::signalled() -> |
93 | | -bool` companion. All purely additive — no freeze pressure. |
| 104 | +Builder methods on `ResourceLimits`; more crate-root free fns (`output_bytes` / |
| 105 | +`run_unit`); an `Outcome::signalled() -> bool` companion. All purely additive — no |
| 106 | +freeze pressure. |
0 commit comments