docs(issues): mark 17 already-fixed issues RESOLVED with verified banners

Each banner was re-verified against the current binary (repro now behaves
correctly) and cites the actual fix location in current src/** plus the covering
regression example. Closes the stale-but-fixed backlog: 0019, 0042-0056, 0131.
No compiler change.
This commit is contained in:
agra
2026-06-21 09:25:52 +03:00
parent 4fc5411cd9
commit c21b683b08
17 changed files with 118 additions and 0 deletions

View File

@@ -1,4 +1,13 @@
**FIXED** (`1f6e27d`, `examples/212`). Two root causes:
> **RESOLVED.** A generic-struct instance erased to a parameterized protocol
> (`xx c` : `Combined__i64_i64` → `VL(i64)`) trapped at dispatch because the
> erasure thunk's vtable slot was never bound to the monomorphized instance
> method. Fixed by `instantiateGenericStruct` binding the template name to the
> concrete instance + recording `struct_instance_bindings` (src/ir/lower/generic.zig:1746,1753),
> and `createProtocolThunk` monomorphizing the generic-struct instance method
> for those bindings (src/ir/lower/protocol.zig:createProtocolThunk, ~line 349).
> Covered by `examples/0414-protocols-generic-struct-protocol-erase.sx`.
1. `instantiateGenericStruct` now binds the template name to the concrete
instance (`tb.put(tmpl.name, id)`), so an impl method `self: *Combined`
resolves `self.field` to the instance, not the 0-field generic stub. (This