diff --git a/Lib/test/test_fstring.py b/Lib/test/test_fstring.py index a0fae50d1720745..3484fcecf1c5e2b 100644 --- a/Lib/test/test_fstring.py +++ b/Lib/test/test_fstring.py @@ -1148,6 +1148,8 @@ def __repr__(self): self.assertEqual(f'{C()=:x}', 'C()=FORMAT-x') self.assertEqual(f'{C()=!r:*^20}', 'C()=********REPR********') + self.assertRaises(SyntaxError, eval, "f'{C=]'") + def test_walrus(self): x = 20 # This isn't an assignment expression, it's 'x', with a format diff --git a/Python/ast.c b/Python/ast.c index 585f8b3fba4cdce..03da4e7f7f9affe 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -5283,7 +5283,6 @@ fstring_find_expr(const char **str, const char *end, int raw, int recurse_lvl, /* Falls through to error. */ error: - Py_XDECREF(expr_text); return -1; }