Skip to content

runtime: DisposableStack / Symbol.dispose surface incomplete (.disposed returns undefined) #6364

Description

@proggeramlug

Summary

DisposableStack / Symbol.dispose support is incomplete: test_gap_disposablestack_2875 returns undefined where node returns false / true.

This is an untriaged gap-suite failure on main — it is not in test-parity/known_failures.json.

Repro

test-files/test_gap_disposablestack_2875.ts on current main (be5ed2bfc) vs node --experimental-strip-types:

line 5:   perry: undefined     node: false
line 7:   perry: undefined     node: true

Looks like the .disposed getter (and/or the adopt/defer surface) is missing rather than the whole feature.

Why CI never caught it

DisposableStack and Symbol.dispose are Node 24+. conformance-smoke pins node-version: '22' (.github/workflows/test.yml), where node itself fails the test — so the harness classifies it as node_fail and excludes it entirely. The gap is structurally invisible to the required gate.

That is the more important point: this issue is a symptom. Anything Perry gets wrong about a Node 24/26 feature cannot be seen by CI at all, by construction. Tracked separately as the Node-version skew issue.

Decision needed

Either implement the missing surface, or add a triaged entry to test-parity/known_failures.json with a category and reason — right now it sits in the gap that the no-new-untriaged gate exists to prevent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugConfirmed defect or regression

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions