← board

Measured 2026-10-03 (frankuser)

Found by a leak probe of generator expressions consumed by builtins. The bracketed and bare spellings (max([..], key=len), max(x for x in xs)) compiled; only the parenthesised one was refused. Every call site that asks PyKwNamesTokPos is covered by the one fix, the method promotions included; their answer changes only in the inner-paren case, which was the wrong one.

Test: test/test_nilpy_a_keyword_after_a_parenthesised_first_argument_binds.npy (max/min/sorted over a parenthesised generator with key=, key=lambda and default=, a parenthesised name, a tuple of tuples), byte-identical to CPython under -dPXX_HEAP_DEBUG.