Skip to content

fix(gen-verilog): imported structs resolve field part-selects; mac declares its phantom TernaryWord - #2401

Merged
gHashTag merged 1 commit into
masterfrom
fix/mac-elaboration
Aug 22, 2026
Merged

fix(gen-verilog): imported structs resolve field part-selects; mac declares its phantom TernaryWord#2401
gHashTag merged 1 commit into
masterfrom
fix/mac-elaboration

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Refs #2275. Half one of the mac elaboration defect: imported-struct registry (mirrors imported-enums, local always wins) + the phantom-type finding and its local declaration. word.raw -> word[0 +: 32]; 32/32 yosys; docs/now entry per the new mechanism.

🤖 Generated with Claude Code

…clares its phantom TernaryWord

Two halves of the word_raw defect (#2275): (1) struct_decls held only
module-local structs, so a field access on an imported-struct param fell
past the part-select branch and flattened to an unbound identifier --
use_resolve::imported_structs now mirrors the imported-enums pass and
merges every direct dependency's struct decls without shadowing local
ones; (2) the deeper find: NO file in the corpus declares TernaryWord{raw}
-- base::ternary_memory's struct of that name is a different shape -- so
mac.t27 referenced a phantom type. The spec now declares its own
single-field struct; word.raw lowers to word[0 +: 32], parse/typecheck
clean, 32/32 yosys smoke. The mac_units array-of-structs half stays open
in #2275 as an emitter feature. M5 performed. Two failing verilog unit
tests reproduce identically on clean master (pre-existing).

Refs #2275.
@gHashTag
gHashTag enabled auto-merge (squash) August 22, 2026 10:48
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-22 10:48:48 UTC

Summary

Status Count
Total Open PRs 4
PRs with Failing Checks 3
PRs with All Checks Green 1
READY 1
FAILING 3
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=7c99ba252ee2 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit f88309b into master Aug 22, 2026
26 of 29 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.

1 participant