Discovered nexus-dvr6.6 batch10. Caller declares throws { Exn }, callee declares throws { ExceptionGroup } where ExceptionGroup is a defined exception group whose members are subtypes of Exn. Self-host row-unifier rejects with 'Row mismatch'. Bootstrap-Rust accepts.
The expectation is that calling a narrower-throws fn from a wider-throws fn should typecheck (subsumption direction). Self-host's row-unifier seems to require structural identity rather than subsumption.
Affects test_exception_group_throws_allows_member_raise from typecheck/effects.rs (skipped in batch10 PORT_SKIPPED.md).
Acceptance: typecheck accepts the call with row-subsumption.
Discovered nexus-dvr6.6 batch10. Caller declares
throws { Exn }, callee declaresthrows { ExceptionGroup }where ExceptionGroup is a defined exception group whose members are subtypes of Exn. Self-host row-unifier rejects with 'Row mismatch'. Bootstrap-Rust accepts.The expectation is that calling a narrower-throws fn from a wider-throws fn should typecheck (subsumption direction). Self-host's row-unifier seems to require structural identity rather than subsumption.
Affects test_exception_group_throws_allows_member_raise from typecheck/effects.rs (skipped in batch10 PORT_SKIPPED.md).
Acceptance: typecheck accepts the call with row-subsumption.