ruff
5dcd7011 - [ty] Narrow TypedDict.keys()/values()/items() return types

Commit
19 days ago
[ty] Narrow TypedDict.keys()/values()/items() return types This change makes `TypedDict.keys()`, `values()`, and `items()` methods return more precise types: - `keys()` now returns `dict_keys[Literal["field1", "field2", ...], object]` instead of `dict_keys[str, object]` - `values()` now returns `dict_values[Literal[...], union_of_value_types]` instead of `dict_values[str, object]` - `items()` now returns `dict_items[Literal[...], union_of_value_types]` instead of `dict_items[str, object]` This allows users to iterate over TypedDict keys in a type-safe manner, enabling sound mutation patterns like iterating over a copy of keys to modify the underlying dict. Fixes https://github.com/astral-sh/ty/issues/2703 https://claude.ai/code/session_01Dv6yPG84sSNAjR517SdTD5
Author
Parents
Loading