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
Part of #7437. Six of the type names newly defined twice come from specs/port/bootstrap/src/compiler/:
AssembledInstr, LinkedSymbol, LinkSection: same records as specs/fpga/assembler.t27 and specs/fpga/linker.t27, but spelled []const u8 instead of &str, and alignment instead of align.
HirBoardResources: two ports of one Rust struct, one spelling []const u8 and the other str.
AsmSection, HwType: the port keeps a typed enum kind and a flattened enum payload, so these are different field lists from the fpga specs that own the names.
Fix: make the four same-record definitions identical (the tool counts identical definitions as duplicated, not conflicted), and give the two different ones module-unique names. Do not bless the types ledger.
Boundary
specs/fpga/assembler.t27
specs/fpga/linker.t27
User Scenarios
Given the type ledger detects duplicate definitions across specs/fpga/assembler.t27, specs/fpga/linker.t27, and specs/port/bootstrap/src/compiler/, when the four same-record types (AssembledInstr, LinkedSymbol, LinkSection, HirBoardResources) are made field-for-field identical and the two divergent types (AsmSection, HwType) receive module-unique names, then the ledger reports zero conflicts for these six names.
Requirements
FR-001: The records AssembledInstr, LinkedSymbol, LinkSection in specs/port/bootstrap/src/compiler/ MUST use &str and align to match specs/fpga/assembler.t27 and specs/fpga/linker.t27.
FR-002: The record HirBoardResources in specs/port/bootstrap/src/compiler/ MUST use str consistently across both ports to match the fpga specs.
FR-003: The types AsmSection and HwType in specs/port/bootstrap/src/compiler/ MUST be renamed with a module-unique prefix (e.g., PortAsmSection, PortHwType) so they no longer share names with the fpga specs.
FR-004: No changes to the types ledger blessing state MUST be made.
Success Criteria
t27c check-types exits 0 with zero duplicate-type errors for AssembledInstr, LinkedSymbol, LinkSection, HirBoardResources, AsmSection, HwType.
grep -r "AssembledInstr\|LinkedSymbol\|LinkSection\|HirBoardResources" specs/port/bootstrap/src/compiler/ specs/fpga/assembler.t27 specs/fpga/linker.t27 | wc -l returns 6 (one definition per type across the three locations).
grep -r "PortAsmSection\|PortHwType" specs/port/bootstrap/src/compiler/ returns 2 lines (the renamed types).
Reopened 2026-10-07: the bulk close of issues without a ## Boundary section was reverted by the owner. Nothing to do here; this comment replaces the earlier close notice.
Activity
docs(type conflicts): drop the ledger and verdict rows for the names …
gHashTag commentedon Oct 7, 2026
Reopened 2026-10-07: the bulk close of issues without a
## Boundarysection was reverted by the owner. Nothing to do here; this comment replaces the earlier close notice.Merge master 20d20c9 into fix/types-7437-compiler; resolve the type-c…
Merge fix/types-7437-compiler into master c893f08 (from master's side)