Skip to content

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

@proggeramlug

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions