-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
bugSomething isn't workingSomething isn't working
Description
What happened?
Since typing.Any matches literally anything, for @overload that start with special cases these are always picked in untyped code. Instead, @overload should prefer the most generic, conservative case.
This is related to and got my attention by the pandas concat type hints bug that causes Any -> ??? paths to select None -> Never overloads.
Minimal Reproducible Example
# Type test
# MyPy "correctly" reports the unused type ignore
async def test_filter_any(aitr: "AsyncIterator[int | None]") -> None:
filter_any: Any = ... # < we don't know the actual type and don't care
async for item in a.filter(filter_any, aitr):
print(2 + item) # type: ignoreRequest Assignment [Optional]
- I already understand the cause and want to submit a bugfix.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working