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
test262 regression on main — parity 96.5%→95.8%, 322 tests (bisecting) #6013
Measured on an internal Linux sweep host (built-ins + language + intl402 + annexB, jobs 6). A bisect+fix is underway; this issue tracks the root-cause + fix/revert PR.
(532853f4a between them is a metadata-only chore.)
#5874 is a 156-file monolithic squash that swept in unreviewed codegen/runtime WIP + two 5.1 MB binaries (constv, direct) + ~30 stray tests/*.sh alongside the intended Zod work. Two swept changes dominate:
codegen/lower_call/property_get/number_string.rs gated the universal.toString() interception on is_numeric_expr || is_bigint_expr, so boxed built-in receivers (new String()/new Number()/new Date()) with a user-assigned built-in method bypassed the brand-check and stopped throwing TypeError → the "method is not a function" / SameValue clusters. (property_get.rs reclassified trim/case-conversion the same way.)
The runtime prototype-identity / class-registry / instanceof rewrite regressed Temporal subclass prototype resolution (Object.getPrototypeOf(result) === construct.prototype) → the Temporal 159 + (no output) crash clusters.
Fix = #6015 (inverse-patch of the #5874 payload rebased onto current main; #5991 preserved; #5983 stdlib change untouched). Witness slice returns to 98.3% / self-validated 100% / Temporal.Duration 100%. Supersedes the stale #5994.
Culprit was #5874's contaminated squash (unreviewed codegen/runtime WIP swept in alongside the Zod work); #6015 inverse-patched it out while preserving the legitimate later commits (#5991/#5999/#5983). Temporal self-validation and the Boolean/Number/Function brand-check negatives are all restored; net parity is now slightly above the pre-regression baseline. Closing.
Activity
proggeramlug commentedon Jul 5, 2026
Bisected. Culprit = #5874 "Improve Zod compatibility support" (
849f297a8).git bisect(good28948ea44.. bad76cc2b996), witness slice = built-ins/Boolean/prototype/toString + Number/prototype/toString + Temporal/Duration/{compare,from}:4f5bc6adb(#5981)849f297a8(#5874) — first bad76cc2b996(main tip)(
532853f4abetween them is a metadata-only chore.)#5874 is a 156-file monolithic squash that swept in unreviewed codegen/runtime WIP + two 5.1 MB binaries (
constv,direct) + ~30 straytests/*.shalongside the intended Zod work. Two swept changes dominate:codegen/lower_call/property_get/number_string.rsgated the universal.toString()interception onis_numeric_expr || is_bigint_expr, so boxed built-in receivers (new String()/new Number()/new Date()) with a user-assigned built-in method bypassed the brand-check and stopped throwingTypeError→ the "method is not a function" / SameValue clusters. (property_get.rsreclassifiedtrim/case-conversion the same way.)Object.getPrototypeOf(result) === construct.prototype) → the Temporal 159 +(no output)crash clusters.Fix = #6015 (inverse-patch of the #5874 payload rebased onto current main; #5991 preserved; #5983 stdlib change untouched). Witness slice returns to 98.3% / self-validated 100% / Temporal.Duration 100%. Supersedes the stale #5994.
proggeramlug commentedon Jul 5, 2026
Resolved by #6015 — regression fully healed
A full re-sweep of
mainat the #6015 tip confirms the 322-test regression is reverted with the grind wins preserved:Culprit was #5874's contaminated squash (unreviewed codegen/runtime WIP swept in alongside the Zod work); #6015 inverse-patched it out while preserving the legitimate later commits (#5991/#5999/#5983). Temporal self-validation and the Boolean/Number/Function brand-check negatives are all restored; net parity is now slightly above the pre-regression baseline. Closing.