tests/cpydiff: Document that uPy requires space after number+period.
Signed-off-by: Jeff Epler <jepler@gmail.com>
This commit is contained in:
committed by
Damien George
parent
e22c666d06
commit
2f97d1dd28
@@ -1,11 +1,11 @@
|
|||||||
"""
|
"""
|
||||||
categories: Syntax,Spaces
|
categories: Syntax,Spaces
|
||||||
description: MicroPython requires spaces between literal numbers and keywords, CPython doesn't
|
description: MicroPython requires spaces between literal numbers and keywords or ".", CPython doesn't
|
||||||
cause: Different parser implementation
|
cause: Different parser implementation
|
||||||
|
|
||||||
MicroPython's tokenizer treats a sequence like ``1and`` as a single token, while CPython treats it as two tokens.
|
MicroPython's tokenizer treats a sequence like ``1and`` as a single token, while CPython treats it as two tokens.
|
||||||
|
|
||||||
Since CPython 3.11, this syntax causes a ``SyntaxWarning`` for an "invalid literal".
|
Since CPython 3.11, when the literal number is followed by a token, this syntax causes a ``SyntaxWarning`` for an "invalid literal". When a literal number is followed by a "." denoting attribute access, CPython does not warn.
|
||||||
|
|
||||||
workaround: Add a space between the integer literal and the intended next token.
|
workaround: Add a space between the integer literal and the intended next token.
|
||||||
|
|
||||||
@@ -24,3 +24,7 @@ try:
|
|||||||
print(eval("1if 1else 0"))
|
print(eval("1if 1else 0"))
|
||||||
except SyntaxError:
|
except SyntaxError:
|
||||||
print("Should have worked")
|
print("Should have worked")
|
||||||
|
try:
|
||||||
|
print(eval("0x1.to_bytes(1)"))
|
||||||
|
except SyntaxError:
|
||||||
|
print("Should have worked")
|
||||||
|
|||||||
Reference in New Issue
Block a user