Skip to content

[bug] row-unifier rejects throws { ExceptionGroup } callee from throws { Exn } caller despite group expansion #632

@Nymphium

Description

@Nymphium

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions