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
{{ message }}
Repository navigation
res.pipe() has a codegen gap in both auto-optimize and PERRY_NO_AUTO_OPTIMIZE modes (found while fixing #10466, scoped out of it) #10670
Found while fixing #10466 (PR #10667) and explicitly scoped out of it: res.pipe() has a codegen gap that exists
in BOTH auto-optimize and PERRY_NO_AUTO_OPTIMIZE=1 modes. It is neither caused nor fixed by that PR.
#10466 was about client dynamic-dispatch fallbacks being compiled out of the prebuilt archive under PERRY_NO_AUTO_OPTIMIZE=1. This is different: a genuine codegen defect in res.pipe() itself, mode-independent.
Worth knowing about #10466's repro while you are here
The agent that fixed #10466 found its literal reproduction now passes on current main in both modes —
unrelated static-typing work landed since the issue was filed. The still-live gap only appears with dynamically-dispatched (any-typed) access, which is exactly what an npm package looks like after TypeScript
type stripping, and therefore the shape that actually matters for perry.compilePackages.
That is a general lesson for this campaign's issue backlog: an issue's hand-written repro can go stale while the
underlying defect remains live in the dynamically-typed shape real packages produce. When an issue "no longer
reproduces", re-check it with any-typed access before closing it.
Context
This came out of work toward deleting Perry's hand-written Rust reimplementations of npm packages in favour of
compiling the real ones. res.pipe() is on the path for HTTP client packages that stream responses.
Activity