Repository navigation
test262 built-ins/Array — 49 (self-contained worklist) #5898
Description
Self-contained worklist — 49 failing. Snapshot 2026-07-03 full sweep (perry 0.5.1218, node v26.3.0). Everything you need is in this issue; no history to read, no re-measure to start.
Array exotic-object length/index coupling, Array.prototype.* on non-array receivers, iterator done-flag. Crate: perry-runtime (array).
Setup (any box)
git clone https://github.com/PerryTS/perry && cd perry
cargo build --release -p perry -p perry-runtime-static -p perry-stdlib-static
git clone --depth 1 https://github.com/tc39/test262 vendor/test262 # checkout test-compat/test262/pinned-sha.txt
# node on PATH (differential oracle). See test-compat/test262/README.md.Measure/verify: scripts/test262_subset.py --root vendor/test262 --dir built-ins/Array --jobs 8 (the .failures.txt sidecar lists failures; diff before/after for zero-regression).
Failure reasons
| n | reason |
|---|---|
| 11 | Uncaught exception: Expected a TypeError to be thrown b |
| 10 | (no output) |
| 3 | Uncaught exception: x.toString() must return "[object A |
| 3 | Uncaught exception: Exhausted result 'done' flag (after |
| 3 | Uncaught exception: #3: var obj = {}; obj.reverse = Arr |
| 2 | Uncaught exception: The value of value is expected to e |
| 2 | Uncaught exception: Expected SameValue(«"Bike"», «undef |
| 2 | Uncaught exception: #1: Array.prototype[1] = 1; x = [0] |
| 1 | Uncaught exception: The value of Array.myproperty is ex |
| 1 | TypeError: Function is not a constructor |
| 1 | Uncaught exception: Expected SameValue(«function () { [ |
| 1 | Uncaught exception: Array[1] Expected SameValue(«undefi |
All 49 failing cases (path — reason)
built-ins/Array/S15.4.1_A1.1_T2.js Uncaught exception: x.toString() must return "[object Array]" Expected SameValue
built-ins/Array/S15.4.2.1_A1.1_T2.js Uncaught exception: x.toString() must return "[object Array]" Expected SameValue
built-ins/Array/S15.4.3_A1.1_T1.js Uncaught exception: The value of Array.myproperty is expected to be 1 Expected S
built-ins/Array/S15.4.5.2_A3_T3.js (no output)
built-ins/Array/from/elements-deleted-after.js Uncaught exception: The value of value is expected to equal the value of array[t
built-ins/Array/from/source-array-boundary.js Uncaught exception: The value of value is expected to equal the value of array[t
built-ins/Array/length/15.4.5.1-3.d-3.js (no output)
built-ins/Array/length/S15.4.2.2_A1.1_T2.js Uncaught exception: x.toString() must return "[object Array]" Expected SameValue
built-ins/Array/length/S15.4.2.2_A2.1_T1.js (no output)
built-ins/Array/length/S15.4.5.2_A3_T4.js (no output)
built-ins/Array/of/return-a-new-array-object.js TypeError: Function is not a constructor
built-ins/Array/of/return-abrupt-from-data-property-using-proxy.js (no output)
built-ins/Array/prototype/Symbol.iterator.js Uncaught exception: Expected SameValue(«function () { [native code] }», «functio
built-ins/Array/prototype/entries/iteration-mutable.js Uncaught exception: Exhausted result `done` flag (after push) Expected SameValue
built-ins/Array/prototype/filter/15.4.4.20-9-b-6.js Uncaught exception: Array[1] Expected SameValue(«undefined», «6.99») to be true
built-ins/Array/prototype/find/array-altered-during-loop.js Uncaught exception: Expected SameValue(«"Bike"», «undefined») to be true
built-ins/Array/prototype/findIndex/array-altered-during-loop.js Uncaught exception: Expected SameValue(«"Bike"», «undefined») to be true
built-ins/Array/prototype/keys/iteration-mutable.js Uncaught exception: Exhausted result `done` flag (after push) Expected SameValue
built-ins/Array/prototype/pop/S15.4.4.6_A4_T1.js Uncaught exception: #1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.pop() =
built-ins/Array/prototype/pop/set-length-array-is-frozen.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/pop/set-length-array-length-is-non-writable.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/push/S15.4.4.7_A3.js (no output)
built-ins/Array/prototype/push/set-length-array-is-frozen.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/push/set-length-array-length-is-non-writable.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/push/set-length-zero-array-is-frozen.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/push/set-length-zero-array-length-is-non-writable.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-30.js Uncaught exception: testResult !== true
built-ins/Array/prototype/reverse/S15.4.4.8_A2_T1.js Uncaught exception: #3: var obj = {}; obj.reverse = Array.prototype.reverse; obj
built-ins/Array/prototype/reverse/S15.4.4.8_A2_T2.js Uncaught exception: #3: var obj = {}; obj.reverse = Array.prototype.reverse; obj
built-ins/Array/prototype/reverse/S15.4.4.8_A2_T3.js Uncaught exception: #3: var obj = {}; obj.reverse = Array.prototype.reverse; obj
built-ins/Array/prototype/reverse/S15.4.4.8_A4_T1.js Uncaught exception: #1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.reverse
built-ins/Array/prototype/reverse/get_if_present_with_delete.js Uncaught exception: Indexed property '0' not present Expected SameValue(«true»,
built-ins/Array/prototype/shift/S15.4.4.9_A1.2_T1.js Uncaught exception: #9: x = []; x[0] = 0; x[3] = 3; x.shift(); x.length = 1; x.s
built-ins/Array/prototype/shift/S15.4.4.9_A4_T1.js Uncaught exception: #2: Array.prototype[1] = 1; x = [0]; x.length = 2; x.shift()
built-ins/Array/prototype/shift/set-length-array-is-frozen.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/shift/set-length-array-length-is-non-writable.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/shift/throws-when-this-value-length-is-writable-false.js Uncaught exception: Array.prototype.shift.call(function() {}) Expected a TypeErr
built-ins/Array/prototype/slice/S15.4.4.10_A3_T1.js (no output)
built-ins/Array/prototype/slice/S15.4.4.10_A3_T2.js (no output)
built-ins/Array/prototype/slice/create-non-array-invalid-len.js (no output)
built-ins/Array/prototype/slice/create-proxied-array-invalid-len.js (no output)
built-ins/Array/prototype/toLocaleString/primitive_this_value_getter.js Uncaught exception: Expected SameValue(«"object,object"», «"boolean,boolean"») t
built-ins/Array/prototype/toString/call-with-boolean.js Uncaught exception: Array.prototype.toString.call(true) must return "[object Boo
built-ins/Array/prototype/unshift/S15.4.4.13_A4_T1.js Uncaught exception: #7: Object.prototype[0] = -1; Object.prototype.length = 1; O
built-ins/Array/prototype/unshift/S15.4.4.13_A4_T2.js Uncaught exception: #3: Array.prototype[0] = 1; x = []; x.length = 1; x.unshift(
built-ins/Array/prototype/unshift/set-length-array-is-frozen.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/unshift/set-length-array-length-is-non-writable.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/values/iteration-mutable.js Uncaught exception: Exhausted result `done` flag (after push) Expected SameValue
Workflow
Pick a coherent single-root subcluster, localize (cargo run --release -- f.ts --trace hir --focus <fn> / --trace llvm), fix, verify listed cases pass AND re-run the slice for zero regressions. Code-only PR (no Cargo.toml/Cargo.lock version bump, no CLAUDE.md Current-Version, no CHANGELOG — maintainer folds metadata). cargo fmt --all -- --check + bash scripts/check_file_size.sh must pass (files < 2000 lines). Reference this issue. Never reference internal infrastructure hostnames.
Activity
fix(runtime,codegen,hir): #5898 — mutating array methods throw on fro…
fix(runtime): a borrowed builtin is only an Array builtin when it IS …
fix(runtime): own-key order + observable trap order for Object enumer…
proggeramlug commentedon Aug 26, 2026
Closed by #8858, which landed on
mainvia #8859. TheFixes #5898keyword did not fire because the PR was merged through a wrapper.Evidence from the PR: pinned Test262
built-ins/Array(4249661388e5d3f92a85186213da140a6481490f) at 2527 pass, 0 diff, 0 runtime-fail, 0 compile-fail, 0 skip.