Clarification on how Typevars in a generic function should resolve
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 1.8k
- フォーク
- 302
- 平均マージ
- 23時間
- マージ済み PR(30日)
- 8
説明
Hi, regarding the issue opened here:
https://github.com/astral-sh/ty/issues/2255
Can you please provide clarification on how TypeVars in a function like func in the below code should be resolved?
class A:
pass
class B(A):
pass
class C(A):
pass
def func[T: A](x: T, y: T) -> T:
...
func(B(), C()) # I think this should raise a type error by type checkers but no type checker (mypy, pyright, etc) raise an error for this
Please look at these comments:
https://github.com/astral-sh/ty/issues/2255#issuecomment-3697606854
https://github.com/astral-sh/ty/issues/2255#issuecomment-3697628015
https://github.com/astral-sh/ty/issues/2255#issuecomment-3698867080
https://github.com/astral-sh/ty/issues/2255#issuecomment-3699067335
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まずリンク先の ty issue #2255 と、そこに引用されているコメントを読み、その解釈をここにあるジェネリック関数の例と比較してください。func(B(), C()) における T の解決について、呼び出しを拒否すべきかどうかも含め、合意されたルールを文書化してください。typing コミュニティが明確な記録済みの回答を得たら完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- compilers, documentation
- issue の種類
- ドキュメント
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100