fix mypy in _identity

seems easier to just ignore considering it's "internal" function

also a couple of tests to make sure it infers types correctly
This commit is contained in:
Dima Gerasimov 2022-10-18 23:33:20 +01:00 committed by karlicoss
parent 5f1d41fa52
commit 7098d6831f

View file

@ -69,7 +69,7 @@ def group_by_key(l: Iterable[T], key: Callable[[T], K]) -> Dict[K, List[T]]:
return res return res
def _identity(v: T) -> V: def _identity(v: T) -> V: # type: ignore[type-var]
return cast(V, v) return cast(V, v)
@ -127,6 +127,10 @@ def test_make_dict() -> None:
d = make_dict(it, key=lambda i: i, value=lambda i: i % 2) d = make_dict(it, key=lambda i: i, value=lambda i: i % 2)
assert d == {0: 0, 1: 1, 2: 0, 3: 1, 4: 0} assert d == {0: 0, 1: 1, 2: 0, 3: 1, 4: 0}
# check type inference
d2: Dict[str, int ] = make_dict(it, key=lambda i: str(i))
d3: Dict[str, bool] = make_dict(it, key=lambda i: str(i), value=lambda i: i % 2 == 0)
# https://stackoverflow.com/a/12377059/706389 # https://stackoverflow.com/a/12377059/706389
def listify(fn=None, wrapper=list): def listify(fn=None, wrapper=list):