Skip to content

REGRESSION: ~760 class test262 tests broke — 'm descriptor should be configurable' #5441

Description

@proggeramlug

Severity: HIGH (class method property descriptors)

A re-measure of the honest test262 sweep caught a regression: overall parity dropped 91.8% → 90.4% despite annexB (+10.6) and intl402 (+3.7) gains — because language fell 94.5% → 89.3%.

What regressed

770 newly-failing tests (passed on main @ dbedba916, fail on main @ 73d1fede4), of which 760 are class tests:

  • 384 language/statements/class
  • 376 language/expressions/class

752 share one reason: Uncaught exception: m descriptor should be configurable — i.e. a class method's property descriptor is now wrong (a method that should be configurable: true no longer is, per verifyProperty in propertyHelper.js).

Trigger is a specific shape

Isolated repros are FINE — Object.getOwnPropertyDescriptor(C.prototype,'m') on both a plain class C { m(){} } and class C { #x=1; m(v){...} } correctly yields {writable:true,enumerable:false,configurable:true} on the current binary. So the break is a narrower class-method shape exercised by the flags: [generated] grammar-permutation class tests (generator/computed/private-adjacent method forms). Repro: run scripts/test262_subset.py --dir language/statements/class (node v26), grab a m descriptor should be configurable failure, and inspect its class body.

Regression window + prime suspects

Between main dbedba916 (2026-06-17) and 73d1fede4 (2026-06-19). PRs touching class method/descriptor/reflection in that window:

git bisect over that range against one failing case will pin it fast.

Fix

Restore the correct class-method descriptor (configurable:true, enumerable:false, writable:true) for whatever method shape #5395 (or the culprit) altered, without losing that PR's super-in-static / accessor-.name gain.

Found via the honest re-measure (#5300 follow-up). Class-tail tracker: #5345.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions