questions about CheckedDict and unknown types
まだ誰も着手していません。
評価
調査の方向性
まず、参照されている static Python のコミットを使って issue の 2 つの例を再現し、issue 59 に記載されている期待される動作と比較します。アノテーションと CheckedDict コンストラクター呼び出しにおける未知のジェネリック型の処理を追跡します。両方の形式が受け入れられ、コンストラクターの結果が CheckedDict[str, object] と互換性を持てば完了です。
索引モデルが issue の本文から書いたものです。
説明
IIUC (based on issue 59), types like CheckedDict[str, Set[str]] where SP doesn't understand part of the type should:
- be allowed, and
- turn into
CheckedDict[str, object]
But neither seems to work. (I'm running SP commit 1b01cd886.)
First, this type doesn't work except in a constructor call. Other type annotations give an error:
from __static__ import CheckedDict
from typing import Set
def f(dd: CheckedDict[int, Set[str]]):
return
# def f(dd: CheckedDict[int, Set[str]]):
# TypeError: expected type or Optional[T] for generic argument
Second, the constructor call gives a chkdict[str, dynamic] instead of replacing the unknown type with object:
from __static__ import CheckedDict
from typing import Set
d0: CheckedDict[str, dynamic] = CheckedDict[str, Set[str]]({})
# OK
d1: CheckedDict[str, object] = CheckedDict[str, Set[str]]({})
# compiler.errors.TypedSyntaxError: type mismatch: chkdict[str, dynamic] cannot be assigned to chkdict[str, object]
Are these problems?
- 主要言語
- Python
- スター
- 3.8k
- フォーク
- 139
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
facebookincubator/MetaPython のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
facebookincubator/MetaPython#147 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
facebookincubator/MetaPython#146 · コメント 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
facebookincubator/MetaPython#145 · コメント 4 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 30/100
facebookincubator/MetaPython#144 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
facebookincubator/MetaPython#129 · コメント 2 件 ·
facebookincubator/MetaPython の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
use-agent-os/agent-os#3314 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
BasedHardware/omi#15662 · コメント 1 件 ·
-
documentation help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
AiursoftWeb/AnduinOS-2#19 ·