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
the (no output) 83 cluster — needs per-case look (silent wrong-result / early exit)
This is an umbrella tracker (95.5%); keeping it open and splitting per-constructor work as picked up. Authoritative numbers from scripts/test262_subset.py --dir built-ins.
fix(string): #5347 — substr coerces args via ToIntegerOrInfinity #5523 merged — String.prototype.substr now coerces both args via ToIntegerOrInfinity (ECMA-262 Annex B.2.3.1) instead of a raw fptosi on the NaN-box. Fixes the missed valueOf/Symbol negatives (length-to-int-err, start-to-int-err) and the silent wrong-results (length-falsey, length-undef, start-and-length-as-numbers).
annexB/built-ins/String/prototype/substr: 8 → 13 of 14 pass. The lone remaining surrogate-pairs case needs lone-surrogate / WTF-8 support (the known categorical gap), so it stays out of scope here. Chips the String tail + the Expected a TypeError missed-negatives cluster.
Umbrella stays open; remaining per-constructor tails (RegExp / Temporal / Object / Array / Promise / Function / Proxy + the (no output) cluster) unchanged.
Re-measured 2026-06-23 on an internal Linux sweep host (perry 0.5.1204): built-ins persistent standing gap 805 (regression #5579 excluded). Closing this umbrella in favor of concrete per-constructor tickets:
Activity
fix(runtime): reject Symbol argArray in Function.prototype.apply (#5347…
fix(hir): throw TypeError for Reflect.apply with omitted argumentsList (
fix(runtime): throw TypeError for Object.setPrototypeOf on non-extens…
fix(runtime): walk prototype chain for Reflect.get accessor receiver …
fix(runtime): Array.from on a raw ArrayBuffer yields an empty array (#…
proggeramlug commentedon Jun 18, 2026
Status update (2026-06-18)
Progress on the built-ins tails since this was filed:
SymbolargArray inFunction.prototype.apply(Function tail / missed-negative).Reflect.applywith omitted argumentsList throwsTypeError.Object.setPrototypeOfon a non-extensible target throwsTypeError.Reflect.getwalks the prototype chain for accessor receiver rebind.Array.fromon a rawArrayBuffer/SharedArrayBufferyields an empty array (not array-like) — test262Array/from/items-is-arraybuffer.These chip the
Expected a TypeError 84(missed-negatives) and Object/Array/Function/Reflect clusters.Remaining (umbrella), unchanged:
regexp-v-flag(not yet measured/implemented)(no output) 83cluster — needs per-case look (silent wrong-result / early exit)This is an umbrella tracker (95.5%); keeping it open and splitting per-constructor work as picked up. Authoritative numbers from
scripts/test262_subset.py --dir built-ins.fix(codegen): unknown builtin-namespace member reads as undefined, no…
fix(codegen): unknown builtin-namespace member reads as undefined, no…
fix(codegen): unknown builtin-namespace member reads as undefined, no…
fix(string): #5347 — substr coerces args via ToIntegerOrInfinity (#5523)
proggeramlug commentedon Jun 21, 2026
Status update (2026-06-21)
String.prototype.substrnow coerces both args viaToIntegerOrInfinity(ECMA-262 Annex B.2.3.1) instead of a rawfptosion the NaN-box. Fixes the missedvalueOf/Symbolnegatives (length-to-int-err,start-to-int-err) and the silent wrong-results (length-falsey,length-undef,start-and-length-as-numbers).annexB/built-ins/String/prototype/substr: 8 → 13 of 14 pass. The lone remainingsurrogate-pairscase needs lone-surrogate / WTF-8 support (the known categorical gap), so it stays out of scope here. Chips theStringtail + theExpected a TypeErrormissed-negatives cluster.Umbrella stays open; remaining per-constructor tails (RegExp / Temporal / Object / Array / Promise / Function / Proxy + the
(no output)cluster) unchanged.fix(object): #5347 — Object.assign/spread with an array source no lon…
fix(object): #5347 — Object.assign/spread with an array source no lon…
proggeramlug commentedon Jun 23, 2026
Re-measured 2026-06-23 on an internal Linux sweep host (perry 0.5.1204): built-ins persistent standing gap 805 (regression #5579 excluded). Closing this umbrella in favor of concrete per-constructor tickets:
Cross-cutting reason clusters map to existing tickets: missed arg-validation TypeErrors → #3146; missed-negatives → #3570/#3571; Object boxing → #3986.