This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author eric.smith
Recipients JelleZijlstra, barry, eric.smith, martin.panter, python-dev, yselivanov
Date 2015-09-12.17:36:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1442079361.28.0.0387659033862.issue24965@psf.upfronthosting.co.za>
In-reply-to
Content
Yes, Jelle, you are correct in all 3 cases. Remember that the steps are to extract the string from the source code, decode backslash escapes, and only then treat it as an f-string.

For the first case, without the 'f' prefix:
'{ {1: 2\N{RIGHT CURLY BRACKET}[1]}' == '{ {1: 2}[1]}'

Then, applying the 'f':
f'{ {1: 2}[1]}' == '2'.

For the last 2, since they're syntax errors without the 'f', they're also syntax errors with the 'f'.

I'll have a new version, with tests for all of these cases, posted in the next few hours. You can leverage the tests.
History
Date User Action Args
2015-09-12 17:36:01eric.smithsetrecipients: + eric.smith, barry, python-dev, martin.panter, yselivanov, JelleZijlstra
2015-09-12 17:36:01eric.smithsetmessageid: <1442079361.28.0.0387659033862.issue24965@psf.upfronthosting.co.za>
2015-09-12 17:36:01eric.smithlinkissue24965 messages
2015-09-12 17:36:01eric.smithcreate