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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user