3.11: ```python >>> import ast >>> print(ast.dump(ast.parse("""f'"{var:}"'"""), indent=2)) Module( body=[ Expr( value=JoinedStr( values=[ Constant(value='"'), FormattedValue( value=Name(id='var', ctx=Load()), conversion=-1, format_spec=JoinedStr(values=[])), Constant(value='"')]))], type_ignores=[]) ``` 3.12: ```python >>> import ast >>> print(ast.dump(ast.parse("""f'"{var:}"'"""), indent=2)) Module( body=[ Expr( value=JoinedStr( values=[ Constant(value='"'), FormattedValue( value=Name(id='var', ctx=Load()), conversion=-1, format_spec=JoinedStr( values=[ Constant(value='')])), Constant(value='"')]))], type_ignores=[]) ``` This affects several linters: 1. https://github.com/python/mypy/pull/15577 2. https://github.com/PyCQA/flake8-bugbear/issues/393 Is this a bug? Or is it a feature? <!-- gh-linked-prs --> ### Linked PRs * gh-106401 * gh-106416 <!-- /gh-linked-prs -->