(🎁) Option to not report errors from stub bodies
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 20.6k
- フォーク
- 3.3k
- PR マージ指標
- PR 指標を取得中
説明
test.py:
import foo
foo.foo("")
stubs/foo/init.pyi:
def foo(i: int) -> None:
1 + ""
mypy test.py
stubs/foo/__init__.pyi:2: error: Unsupported operand types for + ("int" and "str")
test.py:2: error: Argument 1 to "foo" has incompatible type "str"; expected "int"
Found 2 errors in 2 files (checked 1 source file)
In when I'm working with mypy I basically copy-paste the src of libraries into a stubs folder and gradually type them as needed, but it's a pain when I get errors on the bodies of functions like
stubs/x/y/z.pyi error: Call to untyped function "amongus" in typed context [no-untyped-call]
The bodies of stub functions shouldn't need to be typechecked imo and there should be an option to disable this.
I don't delete the bodies of the functions because that would be a lot of work, and it is kinda convinient that the impl and types are in the same place.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Use the test.py and stubs/foo/init.pyi reproducer and run mypy test.py. Trace how diagnostics from stub function bodies are produced, then verify an option suppresses those diagnostics while retaining the call-site argument error.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- compilers, tooling
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100