design-md-consolidation 2.3: delete Decision 10 §Migration plan (7-point completed-iter list)

This commit is contained in:
2026-05-10 12:29:54 +02:00
parent 2539b0e728
commit 38d357d58a
-32
View File
@@ -1333,38 +1333,6 @@ monomorphised copies resolve to concrete drop fns).
shared by Iter A and the pre-tail-call shallow-dec arm; closing it is a propagation pass
through let-bindings that has not shipped yet.
### Migration plan
1. **`(borrow T)` / `(own T)` annotations** as a
language feature. Schema, parser, JSON, typechecker. No
codegen change. `(con T)` ≡ `(own T)`. Existing fixtures
unchanged.
2. **RC runtime.** `runtime/rc.c` with header layout +
alloc/inc/dec. Codegen `--alloc=rc` routes allocation through
`rc_alloc`; **no inc/dec yet**. `--alloc=gc` remains default.
3. **Uniqueness inference + codegen inc/dec
instrumentation.** Combines mode annotations with intra-fn
dataflow. Linear-by-default enforcement turns on. `(clone X)`
in the `Term` schema.
4. **Reuse hints + reuse analysis.** `(reuse-as ...)`
form. Codegen rewrites dec+malloc into in-place overwrite when
the precondition holds.
5. **`(drop-iterative)` data attr.** Worklist-based
free for annotated types.
6. **RC validation bench.** RC validated within target
on `bench/run.sh` (live=0; tail latency 23× better than Boehm;
RSS lower). Retirement of Boehm executes in two steps: first a
default-flip (`--alloc=rc` is the CLI default,
GC retained as parity oracle; see Decision 9 above); second a
full removal once the oracle stops paying its keep (gating
condition: a few iter families with no GC-only diagnostic
wins).
7. **Advisory `over-strict-mode` lint** + precise sub-binder
analysis with heap-type filter +
`FnDef.suppress` suppression mechanism with mandatory-reason.
First `Severity::Warning` diagnostic; CLI exit gated on Error
only. Decision 10's mandatory-annotation rule is unchanged.
### Adjacent extensions for mutability (out of Decision 10's scope)
If future workloads need mutable arrays, hash tables, or other