Can't call get on an empty dict
オープン
まだ誰も着手していません。
bug
- 主要言語
- Python
- スター
- 20.6k
- フォーク
- 3.3k
- PR マージ指標
- PR 指標を取得中
説明
Bug Report
Mypy complains when I try to call get on an empty dict.
To Reproduce
x = {}.get("x")
Expected Behavior
No error.
Actual Behavior
a.py:1: error: No overload variant of "get" of "dict" matches argument type "str" [call-overload]
a.py:1: note: Possible overload variants:
a.py:1: note: def get(self, Never, /) -> None
a.py:1: note: def get(self, Never, Never, /) -> Never
a.py:1: note: def [_T] get(self, Never, _T, /) -> _T
Found 1 error in 1 file (checked 1 source file)
Your Environment
- Mypy version used: 1.11.1
- Python version used: 3.12.4
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
a.py スニペットと指定された Mypy および Python のバージョンを使って報告を再現する。空の辞書式がどのように推論され、dict.get のオーバーロードがどのように選択されるかを追跡する。完了の条件は、例でエラーが発生せず、回帰テストがあること。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- compilers
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 43/100