bpo-36541: lib2to3: Support complex expressions in *args and **kwargs. by thatch · Pull Request #12703 · python/cpython
There are two copies of the grammar -- the one used by Python itself as Grammar/Grammar, and the one used by lib2to3 which has necessarily diverged at Lib/lib2to3/Grammar.txt because it needs to support older syntax and we want it to be reasonably stable to avoid requiring fixer rewrites. This brings support for boolean expressions to `*args` and `**kwargs` to match what the live Python grammar does. Unfortunately, this means changes to the parse tree, so three included fixers are adjusted to support either way. Note that blib2to3 (black's fork) has commit 5192ed484bdbe507a8dd03dc31f93e4efec95b19 which solved this (albeit with different tests) locally.