python / python/cpython

`ast.parse` with lower `feature_version` is still allowed to parse `lazy import os`

Offen
#152,631 0 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@sobolevn arbeitet bereits daran.

Seit 29.6.2026.

interpreter-core topic-lazy-imports topic-parser type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug report

Code:

>>> import ast
>>> ast.parse('lazy import os', feature_version=(3, 12))

Works and parses lazy import on older python versions :(

It should produce something like:

>>> import ast
>>> ast.parse('lazy import os', feature_version=(3, 12))
Traceback (most recent call last):
  File "<python-input-1>", line 1, in <module>
    ast.parse('lazy import os', feature_version=(3, 12))
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/sobolev/Desktop/cpython/Lib/ast.py", line 46, in parse
    return compile(source, filename, mode, flags,
                   _feature_version=feature_version, optimize=optimize,
                   module=module)
  File "<unknown>", line 1
    lazy import os
                  ^
SyntaxError: Lazy imports are only supported in Python 3.15 and greater

I have a PR ready.

Linked PRs
  • gh-152632

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.