On Wed, Jul 1, 2020 at 5:50 PM Nick Coghlan email@example.com wrote:
The key thing I'm hoping for in PEP 622 itself is that "Syntactic compatibility with a possible future enhancement to assignment statements" be considered as a constraint on the syntax for case patterns.
That would certainly rule out ideas like writing stores as $x or x? or <x> etc., since it would be syntactically incompatible with *current* assignment statements.
Some of the ideas currently on the table would rule that out, since they re-use syntax that is already legal in assignment statements to mean something else (most notably, "x.y = z" means something entirely different from the initially proposed meaning of "case x.y:"). If PEP 622 were to be accepted in that form, then it would foreclose the possibility of ever allowing destructuring assignment statements.
I'm not worried. Even if these didn't *exactly* the same syntax users would still benefit from similarities, e.g. `a, b, *rest = value` vs. `case a, b, *rest:`.