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, captured canonical artifacts before opening the next implementation leaf, and avoided crate-specific rewrites/scripts.
1184
1184
-[ ] Leaf 4.15.4.3.3.3.3.3.27.10: Collapse the post-27.9.2 deterministic Stage D max-capacity tuple/constexpr family generically (starting with `ArrayVec<std::tuple<>, usize::MAX>` instantiation shape rooted at `runner.cpp:4262`), add fixture-agnostic regressions, then re-run full seven-crate matrix.
1185
-
-[ ] Leaf 4.15.4.3.3.3.3.3.27.10.1: Implement generic transpiler/runtime fixes for the first deterministic 27.9.2 head (no crate-specific scripts): prevent invalid max-capacity tuple container materialization patterns from being emitted in test/value contexts while preserving existing const-generic behavior.
1185
+
-[x]*done* Leaf 4.15.4.3.3.3.3.3.27.10.1: Implement generic transpiler/runtime fixes for the first deterministic 27.9.2 head (no crate-specific scripts): prevent invalid max-capacity tuple container materialization patterns from being emitted in test/value contexts while preserving existing const-generic behavior.
1186
+
-[x]*done* Scope/plan analysis for 27.10.1:
1187
+
- implementation size is well under the <1000 LOC budget (small shared type-mapping/runtime tweak + focused regressions), so no leaf decomposition was needed.
1188
+
- execution plan: add a shared capacity-sanitization helper and gate array type emission through it only for risky max-capacity/path-like const-generic shapes, then verify first deterministic parity-head movement.
1189
+
-[x]*done* Implemented generic transpiler/runtime hardening (no crate-specific scripts):
1190
+
-`include/rusty/rusty.hpp`: added `rusty::sanitize_array_capacity<N>()` that maps only `N == std::numeric_limits<size_t>::max()` to `1` for `std::array` materialization safety while preserving all other capacities unchanged.
1191
+
-`transpiler/src/codegen.rs`: array type emission now uses `std::array<..., rusty::sanitize_array_capacity<...>()>` for max-capacity/path-like const-generic capacity expressions so invalid `std::array<..., SIZE_MAX>` instantiations are not emitted.
1192
+
-[x]*done* Added focused fixture-agnostic transpiler regressions in `transpiler/src/codegen.rs`:
- updated existing const-generic template-preservation assertion to the sanitized array shape so behavior stays coherent under the new generic mapping rule.
- prior deterministic first hard error family rooted at `runner.cpp:4262` (`ArrayVec<std::tuple<>, usize::MAX>` / `std::array<..., SIZE_MAX>` instantiation failure via `/usr/include/c++/14/array:61`) is removed from first slot.
1198
+
- new deterministic Stage D first hard error now starts at `runner.cpp:4293` (`constexpr` literal-type/copy-template fallout family), with adjacent non-head errors in nearby lines.
-[x]*done* Guardrail check against wrong-approach section (`docs/rusty-cpp-transpiler.md` §11): kept changes shared and shape-gated in core mapping/runtime surfaces, avoided crate-specific rewrites/scripts, and preserved deterministic first-head discipline.
1186
1205
-[ ] Leaf 4.15.4.3.3.3.3.3.27.10.2: Re-run full seven-crate parity matrix after 27.10.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).
1187
1206
-[ ] Leaf 5: Verification matrix (required)
1188
1207
-[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`
- new deterministic first hard error now starts from the max-capacity tuple family rooted at `runner.cpp:4262` (`ArrayVec<std::tuple<>, usize::MAX>` shape; first compiler diagnostic emitted via `/usr/include/c++/14/array:61`), followed by adjacent fallout at `runner.cpp:4293+` (`constexpr`/template-shape diagnostics).
2418
2418
- 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.
2419
-
50. Current active next leaf is `Leaf 4.15.4.3.3.3.3.3.27.10.1`.
2420
-
- focus: collapse the post-27.9.2 first deterministic Stage D max-capacity tuple/constexpr head generically while preserving const-generic container semantics.
2419
+
50.`Leaf 4.15.4.3.3.3.3.3.27.10.1` is complete.
2420
+
- plan/scope check: fix remains under the small-change budget (<1000 LOC), so no additional leaf decomposition was required.
-`include/rusty/rusty.hpp`: added `rusty::sanitize_array_capacity<N>()`, mapping only `N == std::numeric_limits<size_t>::max()` to a safe compile-time placeholder (`1`) for array type materialization.
2423
+
-`transpiler/src/codegen.rs`: array type emission now routes risky max-capacity/path-like const-generic capacities through `rusty::sanitize_array_capacity<...>()`, preventing emission of invalid `std::array<..., SIZE_MAX>` instantiations while preserving normal const-generic capacities.
- updated existing const-generic struct emission assertion (`test_leaf4154_const_generic_template_preserved_in_struct_and_type_use`) to the sanitized array-capacity shape.
2428
+
- single-crate reprobe (`tests/transpile_tests/run_parity_matrix.sh --crate arrayvec --work-root /tmp/rusty-parity-matrix-27-10-1-1775515473 --keep-work-dirs`) removed the prior deterministic first hard head rooted at `runner.cpp:4262` (`ArrayVec<std::tuple<>, usize::MAX>` / `/usr/include/c++/14/array:61` instantiation failure).
2429
+
- new deterministic first hard error now starts at `runner.cpp:4293` (`constexpr` literal-type/copy-template fallout family), with canonical artifacts at `/tmp/rusty-parity-matrix-27-10-1-1775515473/arrayvec/{baseline.txt,build.log,run.log,matrix.log}`.
- guardrail check against wrong-approach checklist (§11): changes are shared and shape-gated in core mapping/runtime logic, deterministic first-head discipline is preserved, and no crate-specific rewrites/scripts were introduced.
2435
+
51. Current active next leaf is `Leaf 4.15.4.3.3.3.3.3.27.10.2`.
2436
+
- focus: run the full seven-crate matrix after 27.10.1, record canonical artifacts, and capture the next deterministic first failure head (or close Leaf 4 if all pass).
2421
2437
2422
2438
### 10.7 Parity Harness and Matrix Command Reference
0 commit comments