Skip to content

Use explicit Never for type inference#21497

Open
ilevkivskyi wants to merge 1 commit into
python:masterfrom
ilevkivskyi:respect-explicit-never
Open

Use explicit Never for type inference#21497
ilevkivskyi wants to merge 1 commit into
python:masterfrom
ilevkivskyi:respect-explicit-never

Conversation

@ilevkivskyi
Copy link
Copy Markdown
Member

Fixes #20391

The problem became more prominent with type variables with defaults, so better be consistent.

@github-actions
Copy link
Copy Markdown
Contributor

Diff from mypy_primer, showing the effect of this PR on open source code:

pandera (https://github.com/pandera-dev/pandera)
+ pandera/engines/pandas_engine.py:1050: error: List comprehension has incompatible type List[Timestamp]; expected List[Never]  [misc]
+ pandera/engines/pandas_engine.py:1050: note: Error code "misc" not covered by "type: ignore[arg-type]" comment

pandas-stubs (https://github.com/pandas-dev/pandas-stubs)
+ tests/indexes/test_indexes.py:1624: error: Unused "type: ignore" comment  [unused-ignore]
+ tests/indexes/test_indexes.py:1624: error: List item 0 has incompatible type "int"; expected "Never"  [list-item]
+ tests/indexes/test_indexes.py:1624: note: Error code "list-item" not covered by "type: ignore[arg-type]" comment

trio (https://github.com/python-trio/trio)
+ src/trio/_threads.py:360: error: Unused "type: ignore" comment  [unused-ignore]

@ilevkivskyi
Copy link
Copy Markdown
Member Author

Change of error code in pandas/pandera is somewhat unfortunate, but it actually looks correct (e.g. overload in pandas has explicit Never in signature). Change in trio is good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Defaulted TypeVar cannot be set to Never?

1 participant