Support `Literal` types
まだ誰も着手していません。
評価
調査の方向性
まず、typeclass、AssociatedType、Supports、@some.instance が委譲された型をどのように扱うかを追跡し、その後、その経路を Literal[1] の例と比較します。完了条件は、例が型チェックに通り、Literal の登録を通じて some(1) が正しく解決され、既存の委譲動作が維持されることです。
索引モデルが issue の本文から書いたものです。
説明
After we have delegate in-place we can use Literal types.
But, now they are not supported.
Ideally, something like this should work:
from classes import typeclass, AssociatedType, Supports
from typing_extensions import Literal
class SomeDelegate(object):
... # TODO: write proper `__instancecheck__`
class A(AssociatedType):
...
@typeclass(A)
def some(instance) -> int:
...
@some.instance(Literal[1], delegate=SomeDelegate)
def _some_tuple(instance: Literal[1]) -> int:
return instance
def test(i: Supports[A]):
return some(i)
some(1)
- 主要言語
- Python
- スター
- 730
- フォーク
- 30
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
dry-python/classes のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
dry-python/classes#496 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
dry-python/classes#494 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 52/100
dry-python/classes#492 · コメント 2 件 ·
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
dry-python/classes#481 · コメント 5 件 · リアクション 4 件 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
dry-python/classes#386 ·
dry-python/classes の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
learningequality/ricecooker#747 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
run-llama/llama_index#23199 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
KhronosGroup/glTF-Blender-IO#2769 ·