Make an f-string error message more exact and consistent.
This commit is contained in:
parent
13a6d2834a
commit
09835dcdbb
|
@ -182,9 +182,10 @@ f'{a * x()}'"""
|
||||||
self.assertEqual(f'{"#"}', '#')
|
self.assertEqual(f'{"#"}', '#')
|
||||||
self.assertEqual(f'{d["#"]}', 'hash')
|
self.assertEqual(f'{d["#"]}', 'hash')
|
||||||
|
|
||||||
self.assertAllRaise(SyntaxError, "f-string cannot include '#'",
|
self.assertAllRaise(SyntaxError, "f-string expression part cannot include '#'",
|
||||||
["f'{1#}'", # error because the expression becomes "(1#)"
|
["f'{1#}'", # error because the expression becomes "(1#)"
|
||||||
"f'{3(#)}'",
|
"f'{3(#)}'",
|
||||||
|
"f'{#}'",
|
||||||
])
|
])
|
||||||
|
|
||||||
def test_many_expressions(self):
|
def test_many_expressions(self):
|
||||||
|
|
|
@ -4419,7 +4419,7 @@ fstring_find_expr(const char **str, const char *end, int raw, int recurse_lvl,
|
||||||
} else if (ch == '#') {
|
} else if (ch == '#') {
|
||||||
/* Error: can't include a comment character, inside parens
|
/* Error: can't include a comment character, inside parens
|
||||||
or not. */
|
or not. */
|
||||||
ast_error(c, n, "f-string cannot include '#'");
|
ast_error(c, n, "f-string expression part cannot include '#'");
|
||||||
return -1;
|
return -1;
|
||||||
} else if (nested_depth == 0 &&
|
} else if (nested_depth == 0 &&
|
||||||
(ch == '!' || ch == ':' || ch == '}')) {
|
(ch == '!' || ch == ':' || ch == '}')) {
|
||||||
|
|
Loading…
Reference in New Issue