Surprising tokenization of f-strings #135251
Labels
interpreter-core
(Objects, Python, Grammar, and Parser dirs)
topic-parser
type-bug
An unexpected behavior, bug, or error
Uh oh!
There was an error while loading. Please reload this page.
Bug report
Bug description:
Tokenizing an f-string with double braces produces tokens with single braces:
Running this with 3.12 shows:
Should the FSTRING_MIDDLE tokens have single braces? Will it stay this way? Are they guaranteed to be split at the braces as shown here, or might they become one FSTRING_MIDDLE token
' this: {braces} done'
? To recreate the original source, is it safe to always double the braces found in an FSTRING_MIDDLE token, or are there edge cases I haven't thought of?Related to nedbat/coveragepy#1980
CPython versions tested on:
3.12, 3.13, 3.14, CPython main branch
Operating systems tested on:
No response
The text was updated successfully, but these errors were encountered: