Using package multipledispatch, mypy gives error name already defined
まだ誰も着手していません。
評価
調査の方向性
まず、示されている multipledispatch の定義を使って報告された例 mypy multi.py を実行し、名前の重複に関する診断を確認します。これらの繰り返された関数定義に対する名前チェックの経路を追跡し、既存の overload の処理と比較します。この例がそれらのエラーなしに型チェックを通過し、通常の重複した定義については引き続き診断されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Bug Report
Mypy reports errors when using package multipledispatch for overloading functions.
To Reproduce
from multipledispatch import dispatch
@dispatch(list, str)
def concatenate(a: list, b: str):
a.append(b)
return a
@dispatch(str, str)
def concatenate(a: str, b: str):
return a + b
@dispatch(str, int)
def concatenate(a: str, b: int):
return a + str(b)
@dispatch(int, str)
def concatenate(a: int, b: str):
return str(a) + b
print(concatenate(["a", "b"], "c"))
# ['a', 'b', 'c']
print(concatenate("Hello", "World"))
# HelloWorld
print(concatenate("a", 1))
# a1
print(concatenate(2, "b"))
# 2b
Expected Behavior
No errors
Actual Behavior
mypy multi.py
multi.py:10: error: Name "concatenate" already defined on line 4
multi.py:15: error: Name "concatenate" already defined on line 4
multi.py:20: error: Name "concatenate" already defined on line 4
(Write what happened.)
Your Environment
- Mypy version used: 0.910
- Python version used: 3.8.6
- Operating system and version: macOS 11.5.2
- Installed packages:
flake8==3.9.2
mccabe==0.6.1
multipledispatch==0.6.0
mypy==0.910
mypy-extensions==0.4.3
pycodestyle==2.7.0
pyflakes==2.3.1
six==1.16.0
toml==0.10.2
typing-extensions==3.10.0.2
- 主要言語
- Python
- スター
- 20.6k
- フォーク
- 3.3k
- 平均マージ
- 1日 18時間
- マージ済み PR(30日)
- 54
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
python/mypy のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
bug topic-configuration topic-error-reporting
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
似ている issue
-
area/auth bug comp/agent P3 platform/discord type/security
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
NousResearch/hermes-agent#117848 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
bancolombia/sentinel#23 ·
-
test md オープンCI
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
langchain-ai/deepagents#6450 ·
-
bug client
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100