Skip to content

[WIP] handle diverging protocols - #22025

Open
ilevkivskyi wants to merge 10 commits into
python:masterfrom
ilevkivskyi:limit-proto-stack
Open

ilevkivskyi wants to merge 10 commits into
python:masterfrom
ilevkivskyi:limit-proto-stack

Conversation

@ilevkivskyi

Copy link
Copy Markdown
Member

No description provided.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

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

python-chess (https://github.com/niklasf/python-chess)
+ chess/engine.py:1742: error: Argument 1 to "shield" has incompatible type "Future[int]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ chess/engine.py:2532: error: Argument 1 to "shield" has incompatible type "Future[int]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

psycopg (https://github.com/psycopg/psycopg)
+ psycopg/psycopg/_acompat.py:76: error: Argument 1 to "shield" has incompatible type "Future[list[Any]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ psycopg_pool/psycopg_pool/_acompat.py:135: error: Argument 1 to "shield" has incompatible type "Future[list[Any]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ tests/test_pipeline_async.py:591: error: Need type annotation for "cursors"  [var-annotated]
+ tests/test_pipeline_async.py:592: error: Argument 1 to "wait_for" has incompatible type "Future[list[Any]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

steam.py (https://github.com/Gobot1234/steam.py)
+ steam/gateway.py:926: error: Need type annotation for "msg"  [var-annotated]
+ steam/gateway.py:926: error: Argument 1 to "wait_for" has incompatible type "Future[list[Never]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

spark (https://github.com/apache/spark)
- python/pyspark/pandas/indexes/base.py:916: error: List item 0 has incompatible type "Hashable | Any"; expected "tuple[Any, ...]"  [list-item]
+ python/pyspark/pandas/indexes/base.py:916: error: List item 0 has incompatible type "Hashable | Any"; expected "tuple[Any, ...] | None"  [list-item]

prefect (https://github.com/PrefectHQ/prefect)
+ src/prefect/server/services/base.py:101: error: Argument 1 to "gather" has incompatible type "*dict_values[Service, Task[None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
- src/prefect/utilities/asyncutils/__init__.py:361: error: Incompatible return value type (got "_Wrapped[P, Coroutine[Any, Any, Any], [VarArg(Any), DefaultNamedArg(bool | None, '_sync'), KwArg(Any)], Coroutine[Any, Any, Any]]", expected "Callable[P, R? | Coroutine[Any, Any, R?]]")  [return-value]
+ src/prefect/utilities/asyncutils/__init__.py:361: error: Incompatible return value type (got "_Wrapped[P, Coroutine[Any, Any, Any], [VarArg(Any), DefaultNamedArg(bool | None, '_sync'), KwArg(Any)], R? | Coroutine[Any, Any, R?]]", expected "Callable[P, R? | Coroutine[Any, Any, R?]]")  [return-value]
- src/prefect/utilities/asyncutils/__init__.py:361: note: "_Wrapped[P, Coroutine[Any, Any, Any], [VarArg(Any), DefaultNamedArg(bool | None, '_sync'), KwArg(Any)], Coroutine[Any, Any, Any]].__call__" has type "def __call__(*args: Any, _sync: bool | None = ..., **kwargs: Any) -> Coroutine[Any, Any, Any]"
+ src/prefect/utilities/asyncutils/__init__.py:361: note: "_Wrapped[P, Coroutine[Any, Any, Any], [VarArg(Any), DefaultNamedArg(bool | None, '_sync'), KwArg(Any)], R? | Coroutine[Any, Any, R?]].__call__" has type "def __call__(*args: Any, _sync: bool | None = ..., **kwargs: Any) -> R? | Coroutine[Any, Any, R?]"
+ src/prefect/events/subscribers.py:127: error: Argument 1 to "gather" has incompatible type "*list[Task[None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/server/utilities/worker_channel_cleanup.py:360: error: Argument 1 to "gather" has incompatible type "*set[Task[Literal[True] | CleanupQueueWakeup | None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/server/logs/stream.py:215: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/concurrency/services.py:121: error: Argument 1 to "gather" has incompatible type "*Generator[Future[None], None, None]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/_internal/observers.py:646: error: Argument 1 to "gather" has incompatible type "*list[Task[None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/server/events/stream.py:134: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/server/utilities/worker_channel.py:215: error: Argument 1 to "gather" has incompatible type "*set[Task[None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/server/utilities/worker_channel.py:221: error: Argument 1 to "gather" has incompatible type "*set[Task[None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/server/utilities/worker_channel.py:228: error: Argument 1 to "gather" has incompatible type "*set[Task[None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/server/events/triggers.py:1304: error: Argument 1 to "gather" has incompatible type "Task[None]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/server/events/triggers.py:1304: error: Argument 2 to "gather" has incompatible type "Task[None]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/workers/_worker_channel/_protocol.py:260: error: Argument 1 to "gather" has incompatible type "*set[Task[None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ src/prefect/workers/_worker_channel/_protocol.py:266: error: Argument 1 to "gather" has incompatible type "*set[Task[None]]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]

websockets (https://github.com/aaugustin/websockets)
+ src/websockets/asyncio/connection.py:316: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/asyncio/connection.py:393: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/asyncio/connection.py:467: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/asyncio/connection.py:657: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/asyncio/connection.py:943: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/asyncio/connection.py:959: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/asyncio/server.py:439: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/legacy/protocol.py:625: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/legacy/protocol.py:775: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/legacy/protocol.py:788: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/legacy/protocol.py:912: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/legacy/protocol.py:926: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/legacy/protocol.py:953: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/legacy/protocol.py:1358: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/websockets/legacy/server.py:808: error: Argument 1 to "shield" has incompatible type "Future[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

aiohttp (https://github.com/aio-libs/aiohttp)
+ aiohttp/_websocket/writer.py:117:34: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ aiohttp/web_protocol.py:378:42: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

colour (https://github.com/colour-science/colour)
- colour/hints/__init__.py:847: error: Argument 1 to "arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
+ colour/hints/__init__.py:847: error: Argument 1 to "arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
- colour/hints/__init__.py:849: error: Argument 1 to "arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
+ colour/hints/__init__.py:849: error: Argument 1 to "arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
- colour/hints/__init__.py:858: error: Argument 1 to "number_or_arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
+ colour/hints/__init__.py:858: error: Argument 1 to "number_or_arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
- colour/hints/__init__.py:860: error: Argument 1 to "number_or_arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
+ colour/hints/__init__.py:860: error: Argument 1 to "number_or_arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
- colour/hints/__init__.py:869: error: Argument 1 to "arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
+ colour/hints/__init__.py:869: error: Argument 1 to "arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
- colour/hints/__init__.py:871: error: Argument 1 to "arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
+ colour/hints/__init__.py:871: error: Argument 1 to "arraylike" has incompatible type "list[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]]"; expected "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]"  [arg-type]
- colour/plotting/common.py:1329: error: Argument 1 to "list" has incompatible type "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str] | Sequence[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str] | ColourSwatch]"; expected "Iterable[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | str | _NestedSequence[complex | bytes | str] | ColourSwatch]"  [arg-type]
+ colour/plotting/common.py:1329: error: Argument 1 to "list" has incompatible type "Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str] | Sequence[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str] | ColourSwatch]"; expected "Iterable[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str] | ColourSwatch]"  [arg-type]

async-utils (https://github.com/mikeshardmind/async-utils)
+ src/async_utils/waterfall.py:185: error: Argument 1 to "wait_for" has incompatible type "Future[list[Any | BaseException]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/async_utils/lockout.py:175: error: Argument 1 to "gather" has incompatible type "*Generator[Future[None], None, None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

hydra-zen (https://github.com/mit-ll-responsible-ai/hydra-zen)
- src/hydra_zen/typing/_builds_overloads.py:229: error: Overloaded function implementation does not accept all possible parameters of signature 3  [misc]
- src/hydra_zen/typing/_builds_overloads.py:229: error: Overloaded function implementation does not accept all possible parameters of signature 5  [misc]
- src/hydra_zen/typing/_builds_overloads.py:229: error: Overloaded function implementation does not accept all possible parameters of signature 7  [misc]
- src/hydra_zen/typing/_builds_overloads.py:229: error: Overloaded function implementation does not accept all possible parameters of signature 9  [misc]
- src/hydra_zen/typing/_builds_overloads.py:468: error: Overloaded function implementation does not accept all possible parameters of signature 2  [misc]
- src/hydra_zen/typing/_builds_overloads.py:468: error: Overloaded function implementation does not accept all possible parameters of signature 4  [misc]
- src/hydra_zen/typing/_builds_overloads.py:468: error: Overloaded function implementation does not accept all possible parameters of signature 6  [misc]
- src/hydra_zen/typing/_builds_overloads.py:468: error: Overloaded function implementation does not accept all possible parameters of signature 8  [misc]
- src/hydra_zen/typing/_builds_overloads.py:468: error: Overloaded function implementation does not accept all possible parameters of signature 10  [misc]
- src/hydra_zen/typing/_builds_overloads.py:654: error: Overloaded function implementation does not accept all possible parameters of signature 1  [misc]
- src/hydra_zen/typing/_builds_overloads.py:654: error: Overloaded function implementation does not accept all possible parameters of signature 5  [misc]

bandersnatch (https://github.com/pypa/bandersnatch)
+ src/bandersnatch/verify.py: note: In function "delete_unowned_files":
+ src/bandersnatch/verify.py:196: error: Argument 1 to "gather" has incompatible type "*list[Future[None]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

mypy_primer (https://github.com/hauntsaninja/mypy_primer)
+ mypy_primer/main.py:400: error: Need type annotation for "result_fut"  [var-annotated]
+ mypy_primer/main.py:400: error: Argument 1 to "as_completed" has incompatible type "list[Task[PrimerResult]]"; expected "Iterable[Future[Never] | Awaitable[Never]]"  [arg-type]

discord.py (https://github.com/Rapptz/discord.py)
- discord/components.py:1378: error: List comprehension has incompatible type List[ButtonComponent | SelectMenu | TextInput | LabelComponent | FileUploadComponent | <11 more items>]; expected List[ActionRow | TextComponent | MediaGalleryComponent | FileComponent | SectionComponent | SeparatorComponent | ThumbnailComponent]  [misc]
+ discord/components.py:1378: error: List comprehension has incompatible type List[ButtonComponent | SelectMenu | TextInput | LabelComponent | FileUploadComponent | <11 more items>]; expected List[ActionRow | TextComponent | MediaGalleryComponent | FileComponent | SectionComponent | SectionComponent | SeparatorComponent | ThumbnailComponent]  [misc]
+ discord/state.py:630: error: Argument 1 to "wait_for" has incompatible type "Future[list[Member]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ discord/state.py:1890: error: Argument 1 to "gather" has incompatible type "*dict_values[int, Task[None]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ discord/state.py:1924: error: Argument 1 to "wait_for" has incompatible type "Future[list[Member]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

pandera (https://github.com/pandera-dev/pandera)
- pandera/backends/pandas/components.py:1232: error: Incompatible types in assignment (expression has type "Hashable", variable has type "str | None")  [assignment]
+ pandera/backends/pandas/components.py:1232: error: Incompatible types in assignment (expression has type "Hashable | None", variable has type "str | None")  [assignment]

rotki (https://github.com/rotki/rotki)
- rotkehlchen/tests/api/test_history_base_entry.py:1809: error: List item 0 has incompatible type "object"; expected "int | float | Sequence[JsonType] | Mapping[str, JsonType] | None"  [list-item]
+ rotkehlchen/tests/api/test_history_base_entry.py:1809: error: List item 0 has incompatible type "object"; expected "bool | int | float | str | Sequence[JsonType] | Mapping[str, JsonType] | None"  [list-item]
- rotkehlchen/tests/api/test_accounting_rules.py:337: error: Dict entry 0 has incompatible type "str": "list[dict[str, object]]"; expected "str": "int | float | Sequence[JsonType] | Mapping[str, JsonType] | None"  [dict-item]
+ rotkehlchen/tests/api/test_accounting_rules.py:337: error: Dict entry 0 has incompatible type "str": "list[dict[str, object]]"; expected "str": "bool | int | float | str | Sequence[JsonType] | Mapping[str, JsonType] | None"  [dict-item]

pandas-stubs (https://github.com/pandas-dev/pandas-stubs)
+ tests/indexes/float/test_dtypes.py:37: error: Expression is of type "Index[Any]", not "Index[float]"  [assert-type]
+ tests/indexes/float/test_dtypes.py:42: error: Expression is of type "Index[Any]", not "Index[float]"  [assert-type]

scikit-learn (https://github.com/scikit-learn/scikit-learn)
+ sklearn/externals/array_api_extra/_lazy.py:323: error: INTERNAL ERROR -- Please try using mypy master on GitHub:
+ https://mypy.readthedocs.io/en/stable/common_issues.html#using-a-development-mypy-build
+ Please report a bug at https://github.com/python/mypy/issues
+ version: 2.4.0+dev.3bd1ebb45394046dca60ce8e386d1ba0c96fae79
+ sklearn/externals/array_api_extra/_lazy.py:323: note: use --pdb to drop into pdb
+ sklearn/externals/array_api_extra/_agnostic/_creation.py:25: error: Invalid index type "tuple[object, ...]" for "Array"; expected type "int | slice[Any, Any, Any] | EllipsisType | Array | tuple[int | slice[Any, Any, Any] | EllipsisType | Array, ...] | tuple[int | slice[Any, Any, Any] | EllipsisType | Array | None, ...] | None"  [index]
- sklearn/externals/array_api_extra/_lazy.py:233: error: Unused "type: ignore" comment  [unused-ignore]
- sklearn/utils/fixes.py:59: error: Incompatible redefinition (redefinition with type "def _sparse_linalg_cg(A: Any, b: Any, **kwargs: Any) -> Any", original type overloaded function)  [misc]
- sklearn/utils/_pprint.py:350: error: "type[PrettyPrinter]" has no attribute "_dispatch"  [attr-defined]
- sklearn/callback/_progressbar.py:17: error: Need type annotation for "_run_queues" (hint: "_run_queues: dict[<type>, <type>] = ...")  [var-annotated]
- sklearn/callback/_progressbar.py:18: error: Need type annotation for "_run_monitors" (hint: "_run_monitors: dict[<type>, <type>] = ...")  [var-annotated]
- sklearn/utils/_testing.py:1422: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
- sklearn/utils/_testing.py:1423: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
- sklearn/utils/_testing.py:1424: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
- sklearn/svm/_base.py:14: error: Module "sklearn.svm" has no attribute "_liblinear"  [attr-defined]
- sklearn/svm/_base.py:15: error: Module "sklearn.svm" has no attribute "_libsvm"  [attr-defined]
- sklearn/svm/_base.py:16: error: Module "sklearn.svm" has no attribute "_libsvm_sparse"  [attr-defined]
- sklearn/svm/_base.py:1018: error: Decorators on top of @property are not supported  [prop-decorator]
- sklearn/svm/_base.py:1033: error: Decorators on top of @property are not supported  [prop-decorator]
- sklearn/utils/_mocking.py:349: error: Cannot assign to a method  [method-assign]
- sklearn/utils/_mocking.py:349: error: Incompatible types in assignment (expression has type "RequestMethod", variable has type "def set_fit_request(self: _MetadataRequester, **kwargs: Any) -> Any")  [assignment]
- sklearn/tree/_classes.py:30: error: Module "sklearn.tree" has no attribute "_splitter"  [attr-defined]
- sklearn/preprocessing/tests/test_polynomial.py:663: error: Unsupported operand types for + ("list[ABCMeta | None]" and "list[ABCMeta]")  [operator]
- sklearn/preprocessing/tests/test_polynomial.py:734: error: Unsupported operand types for + ("list[ABCMeta | None]" and "list[ABCMeta]")  [operator]
- sklearn/preprocessing/tests/test_function_transformer.py:124: error: Unsupported operand types for + ("list[ABCMeta | None]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:946: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:951: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:964: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:1052: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:1057: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:1083: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:1107: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:1112: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/metrics/tests/test_pairwise.py:1138: error: Unsupported operand types for + ("list[overloaded function]" and "list[ABCMeta]")  [operator]
- sklearn/inspection/_plot/decision_boundary.py:366: error: Decorators on top of @property are not supported  [prop-decorator]
- sklearn/manifold/_t_sne.py:24: error: Module "sklearn.manifold" has no attribute "_barnes_hut_tsne"  [attr-defined]
- sklearn/_loss/tests/test_loss.py:195: error: Need type annotation for "Y_TRUE_PARAMS"  [var-annotated]
- sklearn/_loss/tests/test_loss.py:224: error: Unsupported operand types for + ("list[tuple[BaseLoss, list[float], list[float]]]" and "list[tuple[BaseLoss, object, list[Any]]]")  [operator]
- sklearn/_loss/tests/test_loss.py:236: error: Unsupported operand types for + ("list[tuple[BaseLoss, list[float], list[float]]]" and "list[tuple[BaseLoss, list[float], object]]")  [operator]
- sklearn/feature_selection/tests/test_variance_threshold.py:14: error: Unsupported operand types for + ("list[ABCMeta | None]" and "list[ABCMeta]")  [operator]
- sklearn/feature_selection/tests/test_variance_threshold.py:31: error: Unsupported operand types for + ("list[None]" and "list[ABCMeta]")  [operator]
- sklearn/feature_selection/tests/test_variance_threshold.py:47: error: Unsupported operand types for + ("list[ABCMeta | None]" and "list[ABCMeta]")  [operator]
- sklearn/feature_selection/tests/test_variance_threshold.py:61: error: Unsupported operand types for + ("list[ABCMeta | None]" and "list[ABCMeta]")  [operator]
- sklearn/conftest.py:335: error: Definition of "getcol" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:335: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "coo_matrix"  [misc]
- sklearn/conftest.py:335: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:335: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:338: error: Definition of "getcol" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:338: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:338: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:341: error: Definition of "getcol" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:341: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "csr_matrix"  [misc]
- sklearn/conftest.py:341: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:341: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:344: error: Definition of "getcol" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:344: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "csc_matrix"  [misc]
- sklearn/conftest.py:344: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:344: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:347: error: Definition of "__iter__" in base class "_spbase" is incompatible with definition in base class "dict"  [misc]
- sklearn/conftest.py:347: error: Definition of "__iter__" in base class "_spbase" is incompatible with definition in base class "Iterable"  [misc]
- sklearn/conftest.py:347: error: Definition of "getcol" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:347: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:347: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:350: error: Definition of "getcol" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:350: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "lil_matrix"  [misc]
- sklearn/conftest.py:350: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:350: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "lil_matrix"  [misc]
- sklearn/conftest.py:350: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "_lil_base"  [misc]
- sklearn/conftest.py:350: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:353: error: Definition of "getcol" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:353: error: Definition of "getnnz" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/conftest.py:353: error: Definition of "getrow" in base class "_strict_mul_mixin" is incompatible with definition in base class "spmatrix"  [misc]
- sklearn/utils/tests/test_sparsefuncs.py:451: error: No overload variant of "hstack" matches argument types "list[Any]", "str"  [call-overload]
- sklearn/utils/tests/test_sparsefuncs.py:451: note: Possible overload variants:
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [T] hstack(blocks: Sequence[_CanStack[T]], format: None = ..., dtype: None = ...) -> T
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [ScalarT: number[Any, Any] | numpy.bool[builtins.bool]] hstack(blocks: Sequence[sparray[ScalarT, tuple[int, int]]], format: Literal['bsr'], dtype: None = ...) -> bsr_array[ScalarT]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [ScalarT: number[Any, Any] | numpy.bool[builtins.bool]] hstack(blocks: Sequence[sparray[ScalarT, tuple[int, int]]], format: Literal['coo'], dtype: None = ...) -> coo_array[ScalarT, tuple[int, int]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [ScalarT: number[Any, Any] | numpy.bool[builtins.bool]] hstack(blocks: Sequence[sparray[ScalarT, tuple[int, int]]], format: Literal['csc'], dtype: None = ...) -> csc_array[ScalarT]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [ScalarT: number[Any, Any] | numpy.bool[builtins.bool]] hstack(blocks: Sequence[sparray[ScalarT, tuple[int, int]]], format: Literal['csr'], dtype: None = ...) -> csr_array[ScalarT, tuple[int, int]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [ScalarT: number[Any, Any] | numpy.bool[builtins.bool]] hstack(blocks: Sequence[sparray[ScalarT, tuple[int, int]]], format: Literal['dia'], dtype: None = ...) -> dia_array[ScalarT]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [ScalarT: number[Any, Any] | numpy.bool[builtins.bool]] hstack(blocks: Sequence[sparray[ScalarT, tuple[int, int]]], format: Literal['dok'], dtype: None = ...) -> dok_array[ScalarT, tuple[int, int]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [ScalarT: number[Any, Any] | numpy.bool[builtins.bool]] hstack(blocks: Sequence[sparray[ScalarT, tuple[int, int]]], format: Literal['lil'], dtype: None = ...) -> lil_array[ScalarT]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [T] hstack(blocks: Sequence[_CanStackAs[numpy.bool[builtins.bool], T]], format: None = ..., *, dtype: type[builtins.bool] | type[numpy.bool[builtins.bool]] | dtype[numpy.bool[builtins.bool]] | HasDType[dtype[numpy.bool[builtins.bool]]] | Literal['bool', 'bool_', 'b1', '|b1', '?']) -> T
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def hstack(blocks: Sequence[sparray[Any, tuple[Any, ...]]], format: Literal['bsr'], dtype: type[builtins.bool] | type[numpy.bool[builtins.bool]] | dtype[numpy.bool[builtins.bool]] | HasDType[dtype[numpy.bool[builtins.bool]]] | Literal['bool', 'bool_', 'b1', '|b1', '?']) -> bsr_array[numpy.bool[builtins.bool]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def hstack(blocks: Sequence[sparray[Any, tuple[Any, ...]]], format: Literal['coo'], dtype: type[builtins.bool] | type[numpy.bool[builtins.bool]] | dtype[numpy.bool[builtins.bool]] | HasDType[dtype[numpy.bool[builtins.bool]]] | Literal['bool', 'bool_', 'b1', '|b1', '?']) -> coo_array[numpy.bool[builtins.bool], tuple[int, int]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def hstack(blocks: Sequence[sparray[Any, tuple[Any, ...]]], format: Literal['csc'], dtype: type[builtins.bool] | type[numpy.bool[builtins.bool]] | dtype[numpy.bool[builtins.bool]] | HasDType[dtype[numpy.bool[builtins.bool]]] | Literal['bool', 'bool_', 'b1', '|b1', '?']) -> csc_array[numpy.bool[builtins.bool]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def hstack(blocks: Sequence[sparray[Any, tuple[Any, ...]]], format: Literal['csr'], dtype: type[builtins.bool] | type[numpy.bool[builtins.bool]] | dtype[numpy.bool[builtins.bool]] | HasDType[dtype[numpy.bool[builtins.bool]]] | Literal['bool', 'bool_', 'b1', '|b1', '?']) -> csr_array[numpy.bool[builtins.bool], tuple[int, int]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def hstack(blocks: Sequence[sparray[Any, tuple[Any, ...]]], format: Literal['dia'], dtype: type[builtins.bool] | type[numpy.bool[builtins.bool]] | dtype[numpy.bool[builtins.bool]] | HasDType[dtype[numpy.bool[builtins.bool]]] | Literal['bool', 'bool_', 'b1', '|b1', '?']) -> dia_array[numpy.bool[builtins.bool]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def hstack(blocks: Sequence[sparray[Any, tuple[Any, ...]]], format: Literal['dok'], dtype: type[builtins.bool] | type[numpy.bool[builtins.bool]] | dtype[numpy.bool[builtins.bool]] | HasDType[dtype[numpy.bool[builtins.bool]]] | Literal['bool', 'bool_', 'b1', '|b1', '?']) -> dok_array[numpy.bool[builtins.bool], tuple[int, int]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def hstack(blocks: Sequence[sparray[Any, tuple[Any, ...]]], format: Literal['lil'], dtype: type[builtins.bool] | type[numpy.bool[builtins.bool]] | dtype[numpy.bool[builtins.bool]] | HasDType[dtype[numpy.bool[builtins.bool]]] | Literal['bool', 'bool_', 'b1', '|b1', '?']) -> lil_array[numpy.bool[builtins.bool]]
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def [T] hstack(blocks: Sequence[_CanStackAs[signedinteger[_32Bit | _64Bit], T]], format: None = ..., *, dtype: type[JustInt] | type[signedinteger[_64Bit]] | dtype[signedinteger[_64Bit]] | HasDType[dtype[signedinteger[_64Bit]]] | Literal['int_', 'int', 'intp', 'n', '<n', '>n']) -> T
- sklearn/utils/tests/test_sparsefuncs.py:451: note:     def hstack(blocks: Sequence[sparray[Any, tuple[Any, ...]]], format: Literal['bsr'], dtype: type[JustInt] | type[signedinteger[_64Bit]] | dtype[signedinteger[_64Bit]] | HasDType[dtype[signedinteger[_64Bit]]] | Literal['int_', 'int', 'intp', 'n', '<n', '>n']) -> bsr_array[signedinteger[_32Bit | _64Bit]]

... (truncated 538 lines) ...

pandas (https://github.com/pandas-dev/pandas)
+ pandas/core/frame.py:14504: error: Argument 2 to "stack_v3" has incompatible type "list[Hashable]"; expected "list[int]"  [arg-type]
+ pandas/core/indexes/multi.py:3312: error: Invalid index type "Hashable" for "FrozenList"; expected type "int | slice[Any, Any, Any]"  [index]
+ pandas/core/indexes/multi.py:3320: error: Invalid index type "Hashable" for "FrozenList"; expected type "int | slice[Any, Any, Any]"  [index]
+ pandas/core/indexes/multi.py:3823: error: Argument "level" to "_get_loc_level" of "MultiIndex" has incompatible type "int | list[Hashable]"; expected "int | list[int]"  [arg-type]
+ pandas/core/indexes/base.py:2125: error: Unused "type: ignore" comment  [unused-ignore]
+ pandas/core/indexes/base.py:2125: error: List item 0 has incompatible type "Hashable | Sequence[Hashable] | dict[Hashable, Hashable]"; expected "Hashable"  [list-item]
+ pandas/core/indexes/base.py:2125: note: Error code "list-item" not covered by "type: ignore[assignment]" comment

tornado (https://github.com/tornadoweb/tornado)
+ tornado/test/wsgi_test.py:74: error: Need type annotation for "resps"  [var-annotated]
+ tornado/test/wsgi_test.py:75: error: Argument 1 to "gather" has incompatible type "Future[HTTPResponse]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ tornado/test/wsgi_test.py:76: error: Argument 2 to "gather" has incompatible type "Future[HTTPResponse]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ tornado/test/wsgi_test.py:84: error: Need type annotation for "resps"  [var-annotated]
+ tornado/test/wsgi_test.py:85: error: Argument 1 to "gather" has incompatible type "Future[HTTPResponse]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ tornado/test/wsgi_test.py:86: error: Argument 2 to "gather" has incompatible type "Future[HTTPResponse]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ tornado/test/wsgi_test.py:103: error: Need type annotation for "resps"  [var-annotated]
+ tornado/test/wsgi_test.py:104: error: Argument 1 to "gather" has incompatible type "Future[HTTPResponse]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ tornado/test/wsgi_test.py:105: error: Argument 2 to "gather" has incompatible type "Future[HTTPResponse]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ tornado/test/wsgi_test.py:112: error: Need type annotation for "resps"  [var-annotated]
+ tornado/test/wsgi_test.py:113: error: Argument 1 to "gather" has incompatible type "Future[HTTPResponse]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]
+ tornado/test/wsgi_test.py:114: error: Argument 2 to "gather" has incompatible type "Future[HTTPResponse]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]

dedupe (https://github.com/dedupeio/dedupe)
+ dedupe/api.py:551: error: Unused "type: ignore" comment  [unused-ignore]
+ dedupe/api.py:551: error: Argument 1 to "list" has incompatible type "Iterable[ndarray[tuple[Any, ...], dtype[Any]]] | Iterable[tuple[tuple[int, int], float]] | Iterable[tuple[tuple[str, str], float]]"; expected "Iterable[ndarray[tuple[Any, ...], dtype[Any]]]"  [arg-type]
+ dedupe/api.py:551: note: Error code "arg-type" not covered by "type: ignore[assignment]" comment

bokeh (https://github.com/bokeh/bokeh)
+ src/bokeh/util/asyncio.py: note: In function "_wait_for_task":
+ src/bokeh/util/asyncio.py:78:22: error: Need type annotation for "result"  [var-annotated]
+ src/bokeh/util/asyncio.py:78:43: error: Argument 1 to "shield" has incompatible type "Future[T]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/executor.py: note: In function "_await_cancellation_safe":
+ src/bokeh/server/executor.py:58:34: error: Argument 1 to "shield" has incompatible type "Task[T]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/contexts.py: note: In member "_shutdown_pending_sessions" of class "ApplicationContext":
+ src/bokeh/server/contexts.py:250:35: error: Argument 1 to "gather" has incompatible type "*tuple[Task[ServerSession], ...]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/contexts.py: note: In member "_initialize_document_async" of class "ApplicationContext":
+ src/bokeh/server/contexts.py:263:34: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/core.py: note: In member "stop" of class "BokehServerCore":
+ src/bokeh/server/core.py:344:34: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/core.py:351:30: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/core.py: note: In function "_stop":
+ src/bokeh/server/core.py:367:43: error: Argument 1 to "gather" has incompatible type "*tuple[Task[ServerSession], ...]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/tornado.py: note: In member "stop_async" of class "BokehTornado":
+ src/bokeh/server/tornado.py:708:30: error: Argument 1 to "shield" has incompatible type "Task[None]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/tornado.py: note: In member "_finish_stop" of class "BokehTornado":
+ src/bokeh/server/tornado.py:711:35: error: Argument 1 to "gather" has incompatible type "*tuple[Task[ServerSession], ...]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]
+ src/bokeh/server/tornado.py:712:57: error: Argument 2 to "gather" has incompatible type "Future[list[BaseException]]"; expected "Future[Never] | Awaitable[Never]"  [arg-type]

schemathesis (https://github.com/schemathesis/schemathesis)
- src/schemathesis/generation/jsonschema/strategy.py:461: error: Argument 2 to "lists" has incompatible type "**dict[str, int]"; expected "Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | None], Hashable] | tuple[Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | None], Hashable], ...] | None"  [arg-type]
+ src/schemathesis/generation/jsonschema/strategy.py:461: error: Argument 2 to "lists" has incompatible type "**dict[str, int]"; expected "Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None], Hashable] | tuple[Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None], Hashable], ...] | None"  [arg-type]
- src/schemathesis/generation/jsonschema/strategy.py:462: error: Argument 2 to "lists" has incompatible type "**dict[str, int]"; expected "Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | None], Hashable] | tuple[Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | None], Hashable], ...] | None"  [arg-type]
+ src/schemathesis/generation/jsonschema/strategy.py:462: error: Argument 2 to "lists" has incompatible type "**dict[str, int]"; expected "Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None], Hashable] | tuple[Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None], Hashable], ...] | None"  [arg-type]
- src/schemathesis/generation/jsonschema/strategy.py:618: error: Argument 3 to "lists" has incompatible type "**dict[str, int]"; expected "Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | None], Hashable] | tuple[Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | None], Hashable], ...] | None"  [arg-type]
+ src/schemathesis/generation/jsonschema/strategy.py:618: error: Argument 3 to "lists" has incompatible type "**dict[str, int]"; expected "Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None], Hashable] | tuple[Callable[[dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None], Hashable], ...] | None"  [arg-type]
- src/schemathesis/generation/jsonschema/strategy.py:1000: error: Unpacked dict entry 1 has incompatible type "dict[str, JsonValue] | list[JsonValue] | str | int | float | None"; expected "SupportsKeysAndGetItem[str, dict[str, JsonValue] | list[JsonValue] | str | int | float | None]"  [dict-item]
+ src/schemathesis/generation/jsonschema/strategy.py:1000: error: Unpacked dict entry 1 has incompatible type "dict[str, JsonValue] | list[JsonValue] | str | int | float | None"; expected "SupportsKeysAndGetItem[str, dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None]"  [dict-item]
- src/schemathesis/generation/jsonschema/strategy.py:1006: error: Incompatible types in assignment (expression has type "SearchStrategy[dict[str, JsonValue] | list[JsonValue] | str | int | float | None]", variable has type "SearchStrategy[dict[str, dict[str, JsonValue] | list[JsonValue] | str | int | float | None]]")  [assignment]
+ src/schemathesis/generation/jsonschema/strategy.py:1006: error: Incompatible types in assignment (expression has type "SearchStrategy[dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None]", variable has type "SearchStrategy[dict[str, dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None]]")  [assignment]
- src/schemathesis/generation/jsonschema/strategy.py:1720: error: Argument 1 to "filter" of "SearchStrategy" has incompatible type "Callable[[Any], bool | Any]"; expected "Callable[[JsonValue], TypeGuard[dict[str, JsonValue] | list[JsonValue] | str | int | float | None]]"  [arg-type]
+ src/schemathesis/generation/jsonschema/strategy.py:1720: error: Argument 1 to "filter" of "SearchStrategy" has incompatible type "Callable[[Any], bool | Any]"; expected "Callable[[JsonValue], TypeGuard[dict[str, JsonValue] | list[JsonValue] | str | int | float | bool | None]]"  [arg-type]

boostedblob (https://github.com/hauntsaninja/boostedblob)
+ boostedblob/boost.py:187: error: Argument 1 to "wait_for" has incompatible type "Future[None]"; expected "Future[Never] | Generator[Any, None, Never] | Awaitable[Never]"  [arg-type]

ibis (https://github.com/ibis-project/ibis)
- ibis/expr/types/strings.py:973: error: Need type annotation for "pattern"  [var-annotated]
+ ibis/expr/types/strings.py:974: error: Argument 2 to "StringSQLLike" has incompatible type "str"; expected "Value[String, Any]"  [arg-type]
- ibis/expr/types/strings.py:975: error: Argument 1 to "promote_list" has incompatible type "str | StringValue | Deferred | Iterable[str | StringValue | Deferred]"; expected "Iterable[Never]"  [arg-type]
+ ibis/expr/types/strings.py:975: error: Argument 1 to "promote_list" has incompatible type "str | StringValue | Deferred | Iterable[str | StringValue | Deferred]"; expected "str | Iterable[str]"  [arg-type]
- ibis/expr/types/strings.py:1019: error: Need type annotation for "pattern"  [var-annotated]
+ ibis/expr/types/strings.py:1020: error: Argument 2 to "StringSQLILike" has incompatible type "str"; expected "Value[String, Any]"  [arg-type]
- ibis/expr/types/strings.py:1021: error: Argument 1 to "promote_list" has incompatible type "str | StringValue | Deferred | Iterable[str | StringValue | Deferred]"; expected "Iterable[Never]"  [arg-type]
+ ibis/expr/types/strings.py:1021: error: Argument 1 to "promote_list" has incompatible type "str | StringValue | Deferred | Iterable[str | StringValue | Deferred]"; expected "str | Iterable[str]"  [arg-type]
- ibis/expr/types/relations.py:4938: error: Argument 1 to "promote_list" has incompatible type "str | Iterable[str] | Selector"; expected "Selector | Iterable[Selector]"  [arg-type]
+ ibis/expr/types/relations.py:4940: error: Argument 1 to "_to_selector" has incompatible type "list[object]"; expected "str | Selector | Column | Sequence[str | Selector | Column]"  [arg-type]
- ibis/backends/flink/ddl.py:96: error: Argument 1 to "promote_list" has incompatible type "str | Sequence[str] | None"; expected "Iterable[None] | None"  [arg-type]

xarray (https://github.com/pydata/xarray)
+ xarray/core/groupby.py:544: error: INTERNAL ERROR -- Please try using mypy master on GitHub:
+ https://mypy.readthedocs.io/en/stable/common_issues.html#using-a-development-mypy-build
+ Please report a bug at https://github.com/python/mypy/issues
+ version: 2.4.0+dev.3bd1ebb45394046dca60ce8e386d1ba0c96fae79
+ xarray/core/groupby.py:544: note: use --pdb to drop into pdb
- xarray/namedarray/utils.py:23: error: Cannot find implementation or library stub for module named "dask.array.core"  [import-not-found]
- xarray/namedarray/utils.py:24: error: Cannot find implementation or library stub for module named "dask.typing"  [import-not-found]
- xarray/namedarray/utils.py:26: error: Unused "type: ignore[assignment, misc]" comment  [unused-ignore]
- xarray/namedarray/utils.py: note: In function "module_available":

... (truncated 207 lines) ...```

@ilevkivskyi

Copy link
Copy Markdown
Member Author

@JukkaL I am still investigating things here, but there is something interesting I noticed: pandas requires insanely large protocol stack (it still crashes with stack of size 20). I am not sure how exactly, but this is caused by the cycle we have is_subtype() -> unify_generic_callable() -> infer_constraints() -> make_simplified_union() -> is_subtype(). That make_simplified_union() is technically needed to make type inference stable w.r.t. equivalent types.

But, the fun part is removing union simplification there makes pandas (and various other libraries that depend on it) ~2x faster (yes, you read that right, twice faster, not 2% faster). This however makes couple tests fail and causes a bit of primer fallout (mostly because of redundant unions in some asyncio stubs).

For now I will probably simply set some high protocol stack size. This should fix at least three crashes. But I also think we should consider cutting some corners in type inference (in a separate PR), since 2x speed-up looks very tempting.

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.

1 participant