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
Closes out the two test-matrix gaps from
docs/interface-vtable-simplification-design.md §7:
- Captures-bearing object-literal method cast to an interface
(00interface_captures.ts): confirms the constant-vtable path (§3) handles
captures correctly - one shared function symbol per literal expression,
per-instance state in a separate .captured field, no per-cast heap patch.
- Casting an imported (cross-module) object value to an interface inside the
importing module: attempting to write this test surfaced two separate
pre-existing bugs, unrelated to this arc's changes, that make the scenario
not work at all today regardless of how the value is exported - an
mlir::cast<TupleType> assertion (MLIRGenInterfaces.cpp:312) when the
export has no type annotation and degrades to a bare `object` type on
reimport, and an llvm_unreachable("review usage") in the generic cast
lowering (CastLogicHelper.h:765) when the export is given an explicit
structural type instead. No test added (would just crash); both findings
are documented in the design doc as a distinct, deeper bug area for future
investigation, out of scope for this arc.
720/720 full suite green.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
0 commit comments