Brummel
3447ac8039
plan: branch-consume-split drop soundness ( #63 leg 3)
...
Five-task plan for spec 0068, decomposed RED-first:
1. RED — new if-branch fixture + pin, un-ignore the committed match pin.
2. CAPTURE — retain per-branch consume snapshots in uniqueness (new
BranchConsume + infer_module_with_cross_branches; old API delegates).
3. CARRY — additive MArm.consume / MTerm::If.{then,else}_consume,
attached by a traversal-order cursor in lower_to_mir (post-order pop,
exhaustion assert, neutral for const bodies) + lock-step test.
4. GATE — emit_leakclass_branch_param_drops helper + :823 gate-source
switch to per-arm; fall-through drops in match arms + if branches.
Disjoint-by-aggregate from the unchanged fn-return dec.
5. VERIFY — series_sma live=0 pin, full workspace suite, lockspair check.
All inlined code lifted from the live source bodies (uniqueness.rs,
lower_to_mir.rs, match_lower.rs, lib.rs) read this session, not from
memory. The one new surface fixture (if-branch) parse-checks clean; the
correspondence test reuses the existing match fixture via the
lower_to_mir_ty.rs elaborate_fixture/body helpers (verified present).
refs #63
2026-06-02 15:25:58 +02:00
..
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 13:31:31 +02:00
2026-05-28 14:04:01 +02:00
2026-05-28 15:00:27 +02:00
2026-05-28 17:04:41 +02:00
2026-05-29 10:53:08 +02:00
2026-05-29 11:17:30 +02:00
2026-05-29 16:55:01 +02:00
2026-05-29 17:37:45 +02:00
2026-05-29 18:34:47 +02:00
2026-05-29 19:25:04 +02:00
2026-05-29 19:53:36 +02:00
2026-05-30 12:35:07 +02:00
2026-05-30 14:51:41 +02:00
2026-05-30 15:53:54 +02:00
2026-05-31 13:51:33 +02:00
2026-05-31 14:23:26 +02:00
2026-05-31 19:10:37 +02:00
2026-05-31 19:40:54 +02:00
2026-05-31 20:00:12 +02:00
2026-06-01 00:54:44 +02:00
2026-06-01 15:29:12 +02:00
2026-06-01 16:33:58 +02:00
2026-06-01 17:34:28 +02:00
2026-06-01 17:51:23 +02:00
2026-06-01 18:07:29 +02:00
2026-06-01 18:18:40 +02:00
2026-06-02 15:25:58 +02:00