Crash with mypy plugin on mypy 0.961
まだ誰も着手していません。
評価
調査の方向性
まず returns/contrib/mypy/_typeops/analtype.py の analyze_call traceback の箇所から始め、次に呼び出し元である returns/contrib/mypy/_features/partial.py を調べます。mypy 0.961 と Python 3.9 で再現し、削除された MessageBuilder.clean_copy メソッドに依存せずに partial 関数を解析しても mypy プラグインがクラッシュしなくなったことを確認します。
索引モデルが issue の本文から書いたものです。
説明
Bug report
What's wrong
Traceback (most recent call last):
File "mypy/checkexpr.py", line 3991, in accept
File "mypy/nodes.py", line 1760, in accept
File "mypy/checkexpr.py", line 305, in visit_call_expr
File "mypy/checkexpr.py", line 383, in visit_call_expr_inner
File "mypy/checkexpr.py", line 892, in check_call_expr_with_callee_type
File "mypy/checkexpr.py", line 957, in check_call
File "mypy/checkexpr.py", line 1085, in check_callable_call
File "mypy/checkexpr.py", line 763, in apply_function_plugin
File ".pyenv/versions/3.9.7/envs/venv/lib/python3.9/site-packages/returns/contrib/mypy/_features/partial.py", line 62, in analyze
return _PartialFunctionReducer(
File ".pyenv/versions/3.9.7/envs/venv/lib/python3.9/site-packages/returns/contrib/mypy/_features/partial.py", line 131, in new_partial
fallback, intermediate = self._create_intermediate(case_function)
File ".pyenv/versions/3.9.7/envs/venv/lib/python3.9/site-packages/returns/contrib/mypy/_features/partial.py", line 150, in _create_intermediate
return intermediate, analyze_call(
File ".pyenv/versions/3.9.7/envs/venv/lib/python3.9/site-packages/returns/contrib/mypy/_typeops/analtype.py", line 55, in analyze_call
messages = checker.msg if show_errors else checker.msg.clean_copy()
AttributeError: 'MessageBuilder' object has no attribute 'clean_copy'
How is that should be
Don't use MessageBuilder.clean_copy (removed in https://github.com/python/mypy/pull/12631)
System information
-
pythonversion: 3.9 -
returnsversion: 0.19 -
mypyversion: 0.961 -
hypothesisversion (if any): -
pytestversion (if any):
- 主要言語
- Python
- スター
- 4.4k
- フォーク
- 154
- 平均マージ
- 3時間 5分
- マージ済み PR(30日)
- 22
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
dry-python/returns のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
dry-python/returns#2394 · リアクション 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
dry-python/returns#2365 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
dry-python/returns#2355 · コメント 1 件 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
dry-python/returns#2295 · コメント 4 件 · リアクション 1 件 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
dry-python/returns#2253 · コメント 2 件 ·
dry-python/returns の issue をすべて見る
似ている issue
-
bug confirmed issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
open-webui/open-webui#30750 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 90/100