Generic dispatch through a supertrait emits an invalid evidence GEP #3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Repro
LLVM verification fails: Invalid indices for GEP pointer type!
%dict_slot_1 = getelementptr inbounds nuw { { ptr, ptr } }, ptr %evidence, i32 0, i32 1The evidence struct for a T: Int constraint has one slot, but supertrait (Num) dispatch indexes slot 1.
Also hit by examples/supertraits.aml (same root cause).
Codegen area: evidence/vtable layout for constrained type params.