Repository navigation
test262 built-ins/Promise — 29 (self-contained worklist) #5849
Description
Self-contained worklist — 29 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.
The meaty bit is real class X extends Promise subclass support (super(executor) internal slots + SpeciesConstructor). Crate: perry-runtime (promise).
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/Promise --jobs 8 (the .failures.txt sidecar lists failures; diff before/after for zero-regression).
Failure reasons
| n | reason |
|---|---|
| 5 | TypeError: Constructor Promise requires 'new' |
| 4 | (no output) |
| 3 | TypeError: Promise resolve or reject function is not ca |
| 3 | Test262:AsyncTestFailure:Test262Error: Test262Error: Ex |
| 2 | Perry ran clean; Node rejected (missed negative) |
| 2 | TypeError: Promise method called on non-callable 'then' |
| 2 | TypeError: value is not a function |
| 1 | Test262:AsyncTestFailure:Test262Error: The promise shou |
| 1 | Test262:AsyncTestFailure:TypeError: value is not a func |
| 1 | Test262:AsyncTestFailure:Test262Error: Test262Error: Th |
| 1 | Uncaught exception: executor not called at all Expected |
| 1 | Test262:AsyncTestFailure:Test262Error: Expected constru |
All 29 failing cases (path — reason)
built-ins/Promise/all/ctx-ctor.js TypeError: Promise resolve or reject function is not callable
built-ins/Promise/all/does-not-invoke-array-setters.js Perry ran clean; Node rejected (missed negative)
built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-custom.js TypeError: Constructor Promise requires 'new'
built-ins/Promise/allSettled/ctx-ctor.js TypeError: Promise resolve or reject function is not callable
built-ins/Promise/allSettled/does-not-invoke-array-setters.js Perry ran clean; Node rejected (missed negative)
built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-custom.js TypeError: Constructor Promise requires 'new'
built-ins/Promise/allSettled/iter-arg-is-poisoned.js Test262:AsyncTestFailure:Test262Error: The promise should be rejected, but was r
built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js TypeError: Constructor Promise requires 'new'
built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js TypeError: Constructor Promise requires 'new'
built-ins/Promise/any/iter-arg-is-poisoned.js Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«Aggrega
built-ins/Promise/prototype/catch/this-value-obj-coercible.js TypeError: Promise method called on non-callable 'then'
built-ins/Promise/prototype/finally/rejected-observable-then-calls-PromiseResolve.js (no output)
built-ins/Promise/prototype/finally/rejected-observable-then-calls.js Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«4», «5»
built-ins/Promise/prototype/finally/resolved-observable-then-calls-PromiseResolve.js (no output)
built-ins/Promise/prototype/finally/resolved-observable-then-calls.js Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«4», «5»
built-ins/Promise/prototype/finally/species-constructor.js TypeError: value is not a function
built-ins/Promise/prototype/finally/subclass-reject-count.js (no output)
built-ins/Promise/prototype/finally/subclass-resolve-count.js (no output)
built-ins/Promise/prototype/finally/this-value-proxy.js TypeError: Promise method called on non-callable 'then'
built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js Test262:AsyncTestFailure:TypeError: value is not a function
built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js Test262:AsyncTestFailure:Test262Error: Test262Error: The value of result is expe
built-ins/Promise/prototype/then/capability-executor-called-twice.js TypeError: value is not a function
built-ins/Promise/prototype/then/capability-executor-not-callable.js Uncaught exception: executor not called at all Expected SameValue(«""», «"a"») t
built-ins/Promise/prototype/then/ctor-access-count.js Test262:AsyncTestFailure:Test262Error: Expected constructor access count: 1. Act
built-ins/Promise/prototype/then/deferred-is-resolved-value.js Uncaught exception: then() returns object Expected SameValue(«1», «[object Objec
built-ins/Promise/race/ctx-ctor.js TypeError: Promise resolve or reject function is not callable
built-ins/Promise/race/invoke-resolve-on-promises-every-iteration-of-custom.js TypeError: Constructor Promise requires 'new'
built-ins/Promise/resolve/ctx-ctor.js TypeError: Promise.resolve called on non-object
built-ins/Promise/resolve/resolve-prms-cstm-then.js Uncaught exception: Expected SameValue(«undefined», «[object Object]») to be tru
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): #5849 — Promise own-property dispatch + poisone…
proggeramlug commentedon Jul 3, 2026
Refreshed after the 2026-07-03 full sweep (parity 96.3%). Superseded by #5907 — same Promise worklist with current counts, folded-in regressions, and the complete failing-test list inline.