fix(runtime): keep builtin alias dispatch in optimized builds - #8292
fix(runtime): keep builtin alias dispatch in optimized builds#8292proggeramlug wants to merge 2 commits into
Conversation
|
Warning Review limit reached
Next review available in: 3 minutes Limit details: You’ve used all 8 included reviews currently available under your plan. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Superseded by #8287, which merged earlier today and makes the identical change to the identical arm. Both remove // #8223: NOT feature-gated. This arm carried a
// `#[cfg(feature = "global-webfetch")]` inherited from #7008's
// web-platform size gating when #7779 moved the arms out — but it
// dispatches Map/Set/WeakMap/WeakSet/WeakRef/EventTarget/
// AbortController/TextEncoder/URLSearchParams/DisposableStack,
// whose factories are all unconditional modules. […]
n if builtin_alias_construct::handles(n) => {so the fix is in and #8223 is closed. Your diagnosis was right and matched #8287's independently — the auto-optimize build takes a minimal feature set, the arm compiled out, and value-held constructors fell through. The only delta left here is comment wording, and the merged version carries more of the causal history (which feature gate, inherited from where, why the prebuilt full stdlib masked it), so there's nothing worth cherry-picking. Closing rather than resolving the conflict. Worth noting for anyone reading later: two independent PRs converging on the same one-line fix is a decent signal the root cause was correctly identified. |
Summary
Fix builtin constructor aliases in auto-optimized builds by removing their accidental dependency on the unrelated
global-webfetchfeature.Changes
global-webfetchguard to theHeadersarm it originally gated.Related issue
Fixes #8223
Test plan
Each reported fixture was compiled with auto-optimize from this worktree, executed, and byte-compared with
node --experimental-strip-types:test_gap_builtin_alias_construct_7524(global-url+global-text, noglobal-webfetch)test_gap_dynamic_builtin_construct_dispatch(global-text, noglobal-webfetch)test_gap_new_globalthis_builtin_6726(no optional global namespace features)cargo build --releasecleancargo test --workspace --exclude perry-ui-ios --exclude perry-ui-tvos --exclude perry-ui-watchos --exclude perry-ui-gtk4 --exclude perry-ui-android --exclude perry-ui-windowspassestest-files/or a#[test]in the affected crate (existing gap fixtures cover the regression)docs/src/(not an API change)-p perry-ui-<backend>locally on that platform (not applicable)Screenshots / output
All three targeted runs completed with
node_status=0 compile_status=0 perry_status=0 diff_status=0.Checklist
feat:/fix:/docs:/chore:prefix convention used in the log