Repository navigation
test262 built-ins/Object — 37 (self-contained worklist) #5901
Description
Self-contained worklist — 37 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.
Object ToObject boxing, assign source-prop error propagation, descriptor edge cases, seal/freeze + proxy. Overlaps #3986. Crate: perry-runtime (object).
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/Object --jobs 8 (the .failures.txt sidecar lists failures; diff before/after for zero-regression).
Failure reasons
| n | reason |
|---|---|
| 10 | (no output) |
| 5 | Uncaught exception: Expected a TypeError to be thrown b |
| 3 | [perry] dynamic Function refused (AOT) — 0 arg(s); body |
| 2 | Uncaught exception: result !== true |
| 2 | Uncaught exception: hasProperty !== true |
| 2 | Uncaught exception: Expected true but got false |
| 1 | Uncaught exception: Actual [1, 2, 3] and expected [1, 2 |
| 1 | Uncaught exception: Actual [0, foo] and expected [0, fo |
| 1 | Uncaught exception: Expected SameValue(«undefined», «10 |
| 1 | Uncaught exception: arrObj.hasOwnProperty("prop") Expec |
| 1 | Uncaught exception: Expected SameValue(«undefined», «"d |
| 1 | Uncaught exception: this.prop should take precedence ov |
All 37 failing cases (path — reason)
built-ins/Object/assign/target-Array.js Uncaught exception: Actual [1, 2, 3] and expected [1, 2] should have the same co
built-ins/Object/create/15.2.3.5-4-15.js Uncaught exception: result !== true
built-ins/Object/create/properties-arg-to-object-non-empty-string.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Object/defineProperties/15.2.3.7-2-16.js Uncaught exception: result !== true
built-ins/Object/defineProperties/15.2.3.7-6-a-150.js (no output)
built-ins/Object/defineProperties/15.2.3.7-6-a-151.js (no output)
built-ins/Object/defineProperties/15.2.3.7-6-a-17.js Uncaught exception: hasProperty !== true
built-ins/Object/defineProperties/15.2.3.7-6-a-20.js Uncaught exception: hasProperty !== true
built-ins/Object/defineProperties/proxy-no-ownkeys-returned-keys-order.js Uncaught exception: Actual [0, foo] and expected [0, foo, Symbol()] should have
built-ins/Object/defineProperty/15.2.3.6-4-116.js (no output)
built-ins/Object/defineProperty/15.2.3.6-4-154.js (no output)
built-ins/Object/defineProperty/15.2.3.6-4-155.js (no output)
built-ins/Object/defineProperty/15.2.3.6-4-243-2.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Object/defineProperty/15.2.3.6-4-410.js Uncaught exception: Expected SameValue(«undefined», «1001») to be true
built-ins/Object/defineProperty/15.2.3.6-4-579.js Uncaught exception: arrObj.hasOwnProperty("prop") Expected SameValue(«true», «fa
built-ins/Object/defineProperty/15.2.3.6-4-586.js Uncaught exception: Expected SameValue(«undefined», «"data"») to be true
built-ins/Object/defineProperty/15.2.3.6-4-625gs.js Uncaught exception: this.prop should take precedence over Object.prototype.prop
built-ins/Object/defineProperty/symbol-data-property-default-strict.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Object/entries/observable-operations.js (no output)
built-ins/Object/freeze/frozen-object-contains-symbol-properties-strict.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Object/getOwnPropertyDescriptors/observable-operations.js Uncaught exception: log Expected SameValue(«"|ownKeys|getOwnPropertyDescriptor:a
built-ins/Object/getOwnPropertySymbols/order-after-define-property.js Uncaught exception: Actual [Symbol(b), Symbol(a)] and expected [Symbol(a), Symbo
built-ins/Object/internals/DefineOwnProperty/consistent-writable-regexp-dollar1.js TypeError: Cannot read properties of undefined (reading 'writable')
built-ins/Object/isExtensible/15.2.3.13-2-13.js Uncaught exception: e Expected SameValue(«false», «true») to be true
built-ins/Object/preventExtensions/15.2.3.10-3-13.js Uncaught exception: Expected true but got false
built-ins/Object/preventExtensions/15.2.3.10-3-3.js Uncaught exception: Expected true but got false
built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-strict.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Object/prototype/S15.2.4_A1_T2.js Uncaught exception: The result of evaluating (e instanceof TypeError) is expecte
built-ins/Object/prototype/S15.2.4_A4.js Uncaught exception: `new Object.prototype` throws a TypeError exception Expected
built-ins/Object/prototype/isPrototypeOf/arg-is-proxy.js (no output)
built-ins/Object/prototype/toLocaleString/S15.2.4.3_A1.js (no output)
built-ins/Object/prototype/toLocaleString/primitive_this_value_getter.js Uncaught exception: Expected SameValue(«"object"», «"boolean"») to be true
built-ins/Object/seal/seal-arrowfunction.js [perry] dynamic Function refused (AOT) — 0 arg(s); body[..160]=""
built-ins/Object/seal/seal-asyncarrowfunction.js [perry] dynamic Function refused (AOT) — 0 arg(s); body[..160]=""
built-ins/Object/seal/seal-asyncfunction.js [perry] dynamic Function refused (AOT) — 0 arg(s); body[..160]=""
built-ins/Object/values/observable-operations.js (no output)
built-ins/Object/values/order-after-define-property.js (no output)
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): #5901 — string-key 'length' write on an array resizes it (
fix(runtime): #5901 — strict write to a frozen symbol-keyed property …
fix(runtime): own-key order + observable trap order for Object enumer…
proggeramlug commentedon Aug 11, 2026
Re-measured on
main@db44b31b7with the pinned test262 (4249661388e5), using this issue's own command:37 → 25. The snapshot in this issue is from perry 0.5.1218 (2026-07-03); main is 0.5.1461, and the worklist has drifted in both directions.
Worth noting all 25 are runtime-fail: nothing in this subtree fails to compile, and nothing produces silently-wrong output against the node oracle.
Fixed since the snapshot — 14, strike these from the worklist
The clusters that closed are coherent rather than scattered: the three
seal/seal-*functioncases, the fourobservable-operations/order-after-define-propertycases, and bothpreventExtensions/15.2.3.10-3-*cases. That is consistent with unrelated work on property-enumeration order and function-object sealing rather than with anyone working this list.Appeared since the snapshot — 2, add these
The remaining 25
Still concentrated where the issue said:
defineProperty(9) anddefineProperties(5) are 14 of the 25, withcreate(2),prototype(2),toLocaleString(2), and one each ingetOwnPropertyDescriptor,internals/DefineOwnProperty,preventExtensions,isPrototypeOf.Not closing — 25 real failures remain. Posting so the next person starts from the current list instead of chasing 14 tests that already pass. The sidecar (
test-compat/test262/report.failures.txt) carries a one-line reason per test, which is the fastest way in.docs(changelog): add fragment for #5901 toLocaleString receiver fix
fix(runtime): give the primitive receiver to an accessor `toString` i…
fix(runtime): stop Object locale string self-recursion (#8478)