Skip to content

test262 built-ins/Proxy — 33 (self-contained worklist) #5844

Description

@proggeramlug

Self-contained worklist — 33 failing. Snapshot 2026-07-01 full sweep (perry 0.5.1209, node v26.3.0). Everything you need is in this issue; no history to read, no re-measure to start.

Proxy trap invariant checks. Crate: perry-runtime (proxy/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/Proxy --jobs 8 (the .failures.txt sidecar lists failures; diff before/after for zero-regression).

Failure reasons

n reason
9 (no output)
7 Uncaught exception: Expected a TypeError to be thrown b
4 TypeError: Cannot convert undefined or null to object
2 Uncaught exception: Expected true but got false
2 Uncaught exception: Expected SameValue(«[object Object]
2 Uncaught exception: [[GetPrototypeOf]] trap called
1 Uncaught exception: Expected SameValue(«undefined», «2»
1 Uncaught exception: prototype should be an own property
1 ReferenceError: length is not defined
1 Uncaught exception: Expected SameValue(«false», «true»)
1 Uncaught exception: Proxy constructor does not have a p
1 Uncaught exception: Actual [] and expected [0, 0, 0] sh

All 33 failing cases (path — reason)

built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target.js    Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/defineProperty/trap-is-missing-target-is-proxy.js    Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/deleteProperty/trap-is-missing-target-is-proxy.js    Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/deleteProperty/trap-is-null-target-is-proxy.js    Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/deleteProperty/trap-is-undefined-target-is-proxy.js    Uncaught exception: Expected true but got false
built-ins/Proxy/enumerate/removed-does-not-trigger.js    (no output)
built-ins/Proxy/get/trap-is-null-target-is-proxy.js    Uncaught exception: Expected SameValue(«undefined», «2») to be true
built-ins/Proxy/get/trap-is-undefined-receiver.js    Uncaught exception: Expected SameValue(«[object Object]», «[object Object]») to 
built-ins/Proxy/get/trap-is-undefined-target-is-proxy.js    (no output)
built-ins/Proxy/getOwnPropertyDescriptor/trap-is-missing-target-is-proxy.js    Uncaught exception: prototype should be an own property
built-ins/Proxy/getPrototypeOf/instanceof-custom-return-accepted.js    Uncaught exception: Expected true but got false
built-ins/Proxy/getPrototypeOf/instanceof-target-not-extensible-not-same-proto-throws.js    Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/has/call-in-prototype-index.js    Uncaught exception: [[GetPrototypeOf]] trap called
built-ins/Proxy/has/call-in-prototype.js    (no output)
built-ins/Proxy/has/call-object-create.js    (no output)
built-ins/Proxy/has/trap-is-undefined-target-is-proxy.js    (no output)
built-ins/Proxy/has/trap-is-undefined-using-with.js    ReferenceError: length is not defined
built-ins/Proxy/has/trap-is-undefined.js    Uncaught exception: Expected SameValue(«false», «true») to be true
built-ins/Proxy/proxy-no-prototype.js    Uncaught exception: Proxy constructor does not have a prototype property
built-ins/Proxy/proxy-undefined-newtarget.js    Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/revocable/length.js    TypeError: Cannot convert undefined or null to object
built-ins/Proxy/revocable/name.js    TypeError: Cannot convert undefined or null to object
built-ins/Proxy/set/call-parameters-prototype-index.js    Uncaught exception: [[GetPrototypeOf]] trap called
built-ins/Proxy/set/call-parameters-prototype.js    (no output)
built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls-index.js    Uncaught exception: Actual [] and expected [0, 0, 0] should have the same conten
built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls.js    Uncaught exception: Actual [] and expected [foo, foo, foo] should have the same 
built-ins/Proxy/set/trap-is-null-receiver.js    Uncaught exception: Expected SameValue(«[object Object]», «[object Object]») to 
built-ins/Proxy/set/trap-is-undefined-target-is-proxy.js    (no output)
built-ins/Proxy/setPrototypeOf/call-parameters.js    TypeError: Cannot convert undefined or null to object
built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js    (no output)
built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js    (no output)
built-ins/Proxy/setPrototypeOf/trap-is-missing-target-is-proxy.js    Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/setPrototypeOf/trap-is-undefined-target-is-proxy.js    TypeError: Cannot convert undefined or null to object

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    parityCompatibility gap with Node.js, ECMAScript, or the supported ecosystem

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions