Skip to content

Pipe into constructor-function streams natively in checked-dynamic stream slots - #1546

Merged
ctate merged 2 commits into
mainfrom
ctate/pipe-constructor-function-ee34ad
Oct 20, 2026
Merged

ctate merged 2 commits into
mainfrom
ctate/pipe-constructor-function-ee34ad

Conversation

@ctate

@ctate ctate commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

…ream slots

With checked-dynamic stream slots, stream.dynNative answered only boxed
runtime streams, so a pipe into a constructor-function stream took the
JavaScript listener protocol, and src.unpipe(this) in its 'pipe' listener
had no runtime pipe to remove (6564-constructor-function-stream-late-hooks).
In programs that link the constructor-function stream unit,
stream.dynNative now answers such a stream's runtime stream, as
stream.unboxDyn does there. A stream that overrides write() or end()
still pipes through its JavaScript members.
@vercel

vercel Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
scriptc Ready Ready Preview, v0 Oct 20, 2026 8:59pm UTC

Comment thread packages/compiler/src/backend/llvm/lib-stream.ts Outdated
… order 6471's file reads

Only pipe and unpipe destinations now take the constructor-function
stream probe (stream.dynNativePipe). Member calls on a checked-dynamic
stream slot use the boxed-native probe again, so a constructor-function
stream's own pause(), resume() and on() still run
(5820-node-stream-dyn-constructor-overrides).

6471 started its second file read on the first stream's 'end', so that
stream's 'close' could land after the second stream's data. The second
read now starts on 'close'.
@ctate
ctate merged commit 8993734 into main Oct 20, 2026
64 checks passed
@ctate
ctate deleted the ctate/pipe-constructor-function-ee34ad branch October 20, 2026 21:01

This branch was successfully deployed

1 active deployment
Preview — 3d280218 Deployed Oct 20, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant