You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[x]*done* Guardrail check against wrong-approach section (`docs/rusty-cpp-transpiler.md` §11): maintained deterministic first-head discipline, recorded canonical matrix artifacts before opening the next implementation leaf, and avoided crate-specific rewrites/scripts.
1211
1211
-[ ] Leaf 4.15.4.3.3.3.3.3.27.11: Collapse the post-27.10.2 deterministic Stage D constexpr constructor/template family generically (starting with `ArrayVec<rusty::Vec<uint8_t>, 10>::new_const()` literal-type/copy fallout rooted at `runner.cpp:4293`), add fixture-agnostic regressions, then re-run full seven-crate matrix.
1212
-
-[ ] Leaf 4.15.4.3.3.3.3.3.27.11.1: Implement generic transpiler/runtime fixes for the first deterministic 27.10.2 head (no crate-specific scripts): align const-constructor/literal-surface lowering so non-literal container types are not forced into invalid `constexpr` materialization patterns while preserving valid const-generic behavior.
1212
+
-[x]*done* Leaf 4.15.4.3.3.3.3.3.27.11.1: Implement generic transpiler/runtime fixes for the first deterministic 27.10.2 head (no crate-specific scripts): align const-constructor/literal-surface lowering so non-literal container types are not forced into invalid `constexpr` materialization patterns while preserving valid const-generic behavior.
1213
+
-[x]*done* Scope/plan analysis for 27.11.1:
1214
+
- implementation size stayed under the <1000 LOC budget (small, shape-gated transpiler lowering + focused regressions), so no additional leaf decomposition was needed.
1215
+
-[x]*done* Implemented generic const-constructor materialization fix in `transpiler/src/codegen.rs`:
1216
+
- for block-local `const` items initialized by zero-arg `new_const()` constructor calls, emit factory-form local constants (`const auto NAME = []() -> Ty { return Ty::new_const(); };`) and lower path uses to `NAME()` so each use materializes a fresh value.
1217
+
- this avoids invalid C++ `constexpr` object requirements and const-lvalue copy constraints on non-literal/non-copyable payload types without introducing crate-specific rewrites.
1218
+
-[x]*done* Added focused fixture-agnostic transpiler regressions in `transpiler/src/codegen.rs`:
- prior deterministic first hard error family at `runner.cpp:4293` (`constexpr ArrayVec<rusty::Vec<uint8_t>, 10> OF_U8 = ...::new_const()` literal/copy fallout) is removed from the first slot.
1223
+
- new deterministic Stage D first hard error now starts at `runner.cpp:4317` (`cannot convert Vec<int> to Vec<unsigned char>` in `test_arrayvec_const_constructible`), with adjacent downstream diagnostics continuing after that head.
-[x]*done* Guardrail check against wrong-approach section (`docs/rusty-cpp-transpiler.md` §11): maintained deterministic first-head discipline, used shared AST-aware shape-gated lowering (no text patching / no blanket rewrites), and avoided crate-specific scripts.
1213
1229
-[ ] Leaf 4.15.4.3.3.3.3.3.27.11.2: Re-run full seven-crate parity matrix after 27.11.1, record first deterministic failure head with canonical artifacts, and update active-frontier docs/TODO status (or mark Leaf 4 complete if all seven pass).
1214
1230
-[ ] Leaf 5: Verification matrix (required)
1215
1231
-[x]*done* Add an integration parity matrix test that runs `parity-test --stop-after run` for `either`, `tap`, `cfg-if`, `take_mut`, `arrayvec`, `semver`, and `bitflags`
- guardrail check against wrong-approach checklist (§11): maintained deterministic first-head discipline, recorded canonical matrix artifacts before opening the next implementation leaf, and introduced no crate-specific rewrites.
2442
-
52. Current active next leaf is `Leaf 4.15.4.3.3.3.3.3.27.11.1`.
2443
-
- focus: collapse the new post-27.10.2 first deterministic constexpr constructor/template head generically, then verify matrix-head movement.
2442
+
52.`Leaf 4.15.4.3.3.3.3.3.27.11.1` is complete.
2443
+
- plan/scope check: fix stays under the small-change budget (<1000 LOC), so no extra leaf decomposition was needed.
2444
+
- implemented generic local const-constructor materialization hardening in `transpiler/src/codegen.rs`:
- such local consts now emit as factory-form locals (`const auto NAME = []() -> Ty { return Ty::new_const(); };`) and path uses lower to `NAME()` to materialize fresh values per use.
- single-crate reprobe (`tests/transpile_tests/run_parity_matrix.sh --crate arrayvec --work-root /tmp/rusty-parity-matrix-27-11-1-1775516598 --keep-work-dirs`) removed the prior deterministic first hard error at `runner.cpp:4293` (`constexpr ArrayVec<rusty::Vec<uint8_t>, 10> OF_U8 = ...::new_const()` non-literal/copy fallout).
2451
+
- new deterministic first hard error now starts at `runner.cpp:4317` (`cannot convert Vec<int> to Vec<unsigned char>` in `test_arrayvec_const_constructible`), with canonical artifacts at `/tmp/rusty-parity-matrix-27-11-1-1775516598/arrayvec/{baseline.txt,build.log,run.log,matrix.log}`.
- guardrail check against wrong-approach checklist (§11): maintained deterministic first-head discipline, used shared AST-aware shape-gated lowering (no text patching / no blanket rewrites), and introduced no crate-specific scripts.
2456
+
53. Current active next leaf is `Leaf 4.15.4.3.3.3.3.3.27.11.2`.
2457
+
- focus: re-run full seven-crate parity matrix after 27.11.1 and capture the next deterministic frontier (or close Leaf 4 if all pass).
2444
2458
2445
2459
### 10.7 Parity Harness and Matrix Command Reference
0 commit comments