Skip to content

Doesn't catch Python 3.12 f-strings changes #264

Open
@me21

Description

Describe the bug
Vermin doesn't catch changes introduced in Python 3.12 to f-strings. Specifically, f-string nesting. See https://docs.python.org/3/whatsnew/3.12.html#pep-701-syntactic-formalization-of-f-strings

To Reproduce
I had the following line in my source:
Paragraph(f'{split_fio_birthdate(visitor['fio'])[0]}', normal_style), (please note single quotes inside f-string as well as enclosing ones).

When I invoked vermin with vermin -v --exclude-regex venv ., it incorrectly marked the file containing that line as !2, 3.9. The actual run attempt on Python 3.11.2 threw the following error: SyntaxError: f-string: unmatched '['.

Expected behavior
The file should be marked as !2, 3.12.

Environment (please complete the following information):

  • vermin 1.6.0
  • Python 3.12 on the machine I run vermin on (I think with Python 3.11 that line might trigger syntax error)

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions