You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Private brand check #x in o returns false for real instances #9411
Also false for #method brands and for subclass instances.
Per ES §13.10.2, #x in o is true when o has the private field installed — which new A() does. Perry answers false, so downleveled TypeScript/Babel brand checks silently take the wrong branch: code that asks "is this one of mine?" concludes no, and falls through to whatever it does for foreign objects.
Silent wrong answer, no error — the failure mode is a wrong code path rather than a crash.
Found by a differential stress-test of claude-code under perry.
Activity
fix(runtime): an Error subclass has a .stack and an [object Error] ta…
proggeramlug commentedon Sep 2, 2026
Closing: fixed with #9432's commits, landed via #9443; fixture test_gap_9411_private_brand_in.ts is on main and not in known_failures.