Skip to content

refactor: remove unconstructible raw JSON value kind - #1797

Merged
InauguralPhysicist merged 2 commits into
InauguralSystems:mainfrom
facelessdevhack:refactor/remove-dead-json-raw-value
Oct 18, 2026
Merged

InauguralPhysicist merged 2 commits into
InauguralSystems:mainfrom
facelessdevhack:refactor/remove-dead-json-raw-value

Conversation

@facelessdevhack

@facelessdevhack facelessdevhack commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

The removed json_raw builtin left an unconstructible VAL_JSON_RAW kind in the enum, exhaustive switches and comments. Remove those dead cases and the corresponding concurrency documentation. Preserve every surviving type tag number explicitly, along with the existing exhaustive-switch checks.

Fixes #1690.

Validation:

  • Release build with the repository warning/switch flags passes.
  • make precheck: 19 passed, 0 failed, 0 skipped.
  • make test-changed: 495/495 passed, 0 failed, 0 skipped. It reports seven runtime files as NOT RUN LOCALLY; the full hosted runtime matrix is still required.
  • A compiled before/after check gives identical surviving enum values: 0 1 2 3 4 5 7 8 9 10.
  • Source census finds no remaining VAL_JSON_RAW or removed json_raw builtin references in current source. Historical changelog entries are retained.
  • A separate Codex agent reviewed constructors, slot tags, JIT immediates, replay/store encoding and exhaustive switches; no functional findings.

An internal changelog fragment explains why this dead-kind cleanup needs no user-facing entry. Full runtime and sanitizer acceptance remains for CI.

The first hosted Linux GCC run caught six stale shape-contract exemption hashes after the deleted branches changed the pinned bodies/helper. Renew only those reviewed hashes: all contract classifications, reasons, min/max and helper memberships are unchanged. Independent review recomputed the hashes. Contract inventory: 190 candidates, 139 guarded, 51 exempt, zero errors; self-test 20/20. Final contributor checks after renewal: precheck 19/19, selected suite 495/495. Updated full hosted verification is pending.

@codspeed

codspeed Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 13 untouched benchmarks


Comparing facelessdevhack:refactor/remove-dead-json-raw-value (88298d6) with main (4afbd15)

Open in CodSpeed

@facelessdevhack
facelessdevhack marked this pull request as ready for review October 15, 2026 08:41
@InauguralPhysicist

Copy link
Copy Markdown
Member

Thank you. VAL_DICT = 7 keeps every surviving tag number stable, which matters for the trace tape and the embed ABI, and the exhaustive switches still force a decision for any new kind. Merging. (It will conflict with the Phase 2 integration branch, #1776, which I'll resolve on our side.)

@InauguralPhysicist
InauguralPhysicist added this pull request to the merge queue Oct 18, 2026
Merged via the queue into InauguralSystems:main with commit 88d07b1 Oct 18, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

VAL_JSON_RAW is unconstructible after #1677; remove the dead value type

2 participants