ast.ImportFrom.level is incorrectly marked as optional
オープン
@JelleZijlstra がすでに取り組んでいます。
2025年6月26日 から。
interpreter-core
topic-parser
type-bug
- 主要言語
- Python
- スター
- 77.2k
- フォーク
- 35.9k
- PR マージ指標
- PR 指標を取得中
説明
Bug report
Bug description:
The level field on ast.ImportFrom is marked optional in the ASDL definition, but in fact the parser always sets it:
>>> ast.dump(ast.parse('from x import a'))
"Module(body=[ImportFrom(module='x', names=[alias(name='a')], level=0)])"
>>> ast.dump(ast.parse('from .x import a'))
"Module(body=[ImportFrom(module='x', names=[alias(name='a')], level=1)])"
>>> ast.dump(ast.parse('from ...............x import a'))
"Module(body=[ImportFrom(module='x', names=[alias(name='a')], level=15)])"
We should mark the field as required for consistency with the parser.
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Linked PRs
- gh-135960
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
評価
この issue はまだ評価されていません。