Deprecate type comment support?
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 20.6k
- フォーク
- 3.3k
- PR マージ指標
- PR 指標を取得中
説明
I've kicked off a discussion on typing-sig, as some of you have already seen, to talk about deprecating and eventually removing type comments.
Currently, the ast module takes type_comments=True to enable parsing any type comment.
I am proposing that this argument emit deprecation warnings with Python 3.12 and 3.13. With Python 3.14 type_comments=True will be removed, and all type comments except for # type: ignore will be treated as normal comments. (# type: ignore will always parse as its own node in the parser).
There is a complication: ast.parse also accepts feature_version. 3.11 is not EOL until 2027, so if someone wanted to parse code written targeting 3.11 with a mypy running on, say 3.14, that would not work under my proposal. I believe that this is acceptable, because the user would have 2 reasonable alternatives: 1) type check their code targeting 3.11 with mypy running on 3.11 2) update to type annotations, which they will need to do eventually anyway, and would have 3 years to do so already.
I think the existing tooling such as libcst, pyupgrade, com2ann, etc make the upgrade relatively straight forward.
I'd be interested to hear what others think mypy should do in regards to removing support for type comments (or if we should at all!)
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
リンクされているtyping-sigの議論と、ast.parse(type_comments=True)およびfeature_versionの動作に関するissueの提案から始めてください。mypyが型コメントのサポートを削除すべきか、またどのような互換性ポリシーが求められているかを判断してください。合意された決定と、それに対応する実装範囲が定まれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- tooling
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100