tests/cpydiff: Update CPy diff for assign expr in nested comprehensions.
Since 7c1584aef1 MicroPython matches CPython in most cases, aside from
nested comprehensions.
This work was funded through GitHub Sponsors.
Signed-off-by: Angus Gratton <angus@redyak.com.au>
This commit is contained in:
committed by
Damien George
parent
e34412f0f4
commit
57f1e60dd0
@@ -1,8 +1,8 @@
|
|||||||
"""
|
"""
|
||||||
categories: Syntax,Operators
|
categories: Syntax,Operators
|
||||||
description: MicroPython allows using := to assign to the variable of a comprehension, CPython raises a SyntaxError.
|
description: MicroPython allows := to assign to the iteration variable in nested comprehensions, CPython does not.
|
||||||
cause: MicroPython is optimised for code size and doesn't check this case.
|
cause: MicroPython is optimised for code size. Although it is a syntax error to assign to the iteration variable in a standard comprehension (same as CPython), it doesn't check if an inner nested comprehension assigns to the iteration variable of the outer comprehension.
|
||||||
workaround: Do not rely on this behaviour if writing CPython compatible code.
|
workaround: Do not use := to assign to the iteration variable of a comprehension.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
print([i := -1 for i in range(4)])
|
print([[(j := i) for i in range(2)] for j in range(2)])
|
||||||
|
|||||||
Reference in New Issue
Block a user