mirror of https://github.com/python/cpython
gh-102310: Change error range for invalid bytes literals (#103663)
This commit is contained in:
parent
7bf94568a9
commit
0fd3891758
|
@ -1853,6 +1853,30 @@ x: *b
|
|||
Traceback (most recent call last):
|
||||
...
|
||||
SyntaxError: invalid syntax
|
||||
|
||||
Invalid bytes literals:
|
||||
|
||||
>>> b"Ā"
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
b"Ā"
|
||||
^^^
|
||||
SyntaxError: bytes can only contain ASCII literal characters
|
||||
|
||||
>>> b"абвгде"
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
b"абвгде"
|
||||
^^^^^^^^
|
||||
SyntaxError: bytes can only contain ASCII literal characters
|
||||
|
||||
>>> b"abc ъющый" # first 3 letters are ascii
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
b"abc ъющый"
|
||||
^^^^^^^^^^^
|
||||
SyntaxError: bytes can only contain ASCII literal characters
|
||||
|
||||
"""
|
||||
|
||||
import re
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Change the error range for invalid bytes literals.
|
|
@ -248,7 +248,8 @@ _PyPegen_parse_string(Parser *p, Token *t)
|
|||
const char *ch;
|
||||
for (ch = s; *ch; ch++) {
|
||||
if (Py_CHARMASK(*ch) >= 0x80) {
|
||||
RAISE_SYNTAX_ERROR(
|
||||
RAISE_SYNTAX_ERROR_KNOWN_LOCATION(
|
||||
t,
|
||||
"bytes can only contain ASCII "
|
||||
"literal characters");
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue