Since 3.12 below statement does not satisfy language reference
a = "fizz" or "buzz"
In 3.12 version of Python Language Reference both Lambdas, Conditional expressions, Boolean operations and Comparisons do not match neither Expression statements nor right part of Assignment statements.
The issue keeps for 3.13 and 3.14 verisons.
In version 3.12 an Expression statements is defined as starred_expression, the right part of Assignment statement is defined as starred_expression or yield_expression. Same for version 3.11:
expression_stmt ::= starred_expression
assignment_stmt ::= (target_list "=")+ (starred_expression | yield_expression)
But the definition of starred_expression was changed.
For version 3.11:
starred_expression ::= expression | (starred_item ",")* [starred_item]
For version 3.12:
starred_expression ::= ["*"] or_expr
Lambdas, Conditional expressions, Boolean operations and Comparisons are particular case of expression.
But they are not a particular case of or_expr.
That’s the issue brought with version 3.12.