Skip to content

[ty] Materialize only substituted typevars during specialization#23725

Merged
charliermarsh merged 3 commits intomainfrom
charlie/top-mat
Mar 5, 2026
Merged

[ty] Materialize only substituted typevars during specialization#23725
charliermarsh merged 3 commits intomainfrom
charlie/top-mat

Conversation

@charliermarsh
Copy link
Member

@charliermarsh charliermarsh commented Mar 5, 2026

Summary

See astral-sh/ty#2955 (comment) for a comprehensive write-up of the underlying issue.

Here's a Claude-generated example:

from typing import Any

class InvariantWithAny[T: int]:
    a: T
    b: Any

def _(x: object):
    if isinstance(x, InvariantWithAny):
        # x is narrowed to InvariantWithAny[Unknown], then materialized.
        # T was substituted (T → Unknown → object), so `a` becomes `object`.
        # But `b` was annotated as `Any` by the user — it has nothing to do with T.

        reveal_type(x.a)  # revealed: object     ← correct either way
        reveal_type(x.b)  # revealed: Any         ← fixed (was: object)

On main, the second pass materializes every gradual type, so Any on b was turned into object. Now, only the types that come from substituting T gets materialized, so the explicit Any on b is left alone.

IIUC, this is a bit worse in the contravariant case (again, with Claude's help):

class Handler[T]:
    def handle(self, event: T, context: Any) -> None: ...

def _(x: object):
    if isinstance(x, Handler):
        # handle(event: Never, context: Never)  ← bug
        # handle(event: Never, context: Any)    ← fixed
        x.handle(42, {"key": "value"})

Closes astral-sh/ty#2955.

@astral-sh-bot
Copy link

astral-sh-bot bot commented Mar 5, 2026

Typing conformance results

No changes detected ✅

@AlexWaygood AlexWaygood added the ty Multi-file analysis & type inference label Mar 5, 2026
@astral-sh-bot
Copy link

astral-sh-bot bot commented Mar 5, 2026

mypy_primer results

Changes were detected when running on open source projects
bidict (https://github.com/jab/bidict)
- bidict/_base.py:510:9: error[no-matching-overload] No overload of bound method `update` matches arguments
- Found 18 diagnostics
+ Found 17 diagnostics

werkzeug (https://github.com/pallets/werkzeug)
- src/werkzeug/sansio/response.py:613:54: error[unresolved-attribute] Object of type `object` has no attribute `to_header`
- Found 385 diagnostics
+ Found 384 diagnostics

pydantic (https://github.com/pydantic/pydantic)
- pydantic/fields.py:1573:13: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`, found `Top[dict[Unknown, Unknown]] | (((dict[str, Divergent], /) -> None) & ~Top[dict[Unknown, Unknown]]) | None`
+ pydantic/fields.py:1573:13: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`, found `dict[str, Divergent] | dict[Never, Never] | (((dict[str, Divergent], /) -> None) & ~Top[dict[Unknown, Unknown]]) | None`
- pydantic/v1/class_validators.py:260:25: error[invalid-argument-type] Argument to function `signature` is incorrect: Expected `(...) -> Any`, found `object`
- pydantic/v1/class_validators.py:263:32: error[invalid-argument-type] Argument to function `signature` is incorrect: Expected `(...) -> Any`, found `object`
- Found 3185 diagnostics
+ Found 3183 diagnostics

schemathesis (https://github.com/schemathesis/schemathesis)
- src/schemathesis/specs/openapi/checks.py:1039:9: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `list[Unknown] | dict[str, Any] | str | ... omitted 4 union elements`, found `Top[list[Unknown]] | Top[dict[Unknown, Unknown]] | str | ... omitted 4 union elements`
+ src/schemathesis/specs/openapi/checks.py:1039:9: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `list[Unknown] | dict[str, Any] | str | ... omitted 4 union elements`, found `list[Unknown] | list[Never] | dict[str, Any] | ... omitted 6 union elements`

Expression (https://github.com/cognitedata/Expression)
- expression/collections/maptree.py:112:28: error[invalid-return-type] Return type does not match returned value: expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Key@rebalance | Unknown, object]]`
+ expression/collections/maptree.py:112:28: error[invalid-return-type] Return type does not match returned value: expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Key@rebalance, object]]`
- expression/collections/maptree.py:113:25: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance | Unknown, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`
+ expression/collections/maptree.py:113:25: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`
- expression/collections/maptree.py:114:25: error[invalid-argument-type] Argument to function `mk` is incorrect: Argument type `object` does not satisfy upper bound `SupportsLessThan` of type variable `Key`
+ expression/collections/maptree.py:113:38: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Never, Never]]`
+ expression/collections/maptree.py:116:25: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Never, object]]`
- expression/collections/maptree.py:116:28: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Unknown, object]]`, found `Option[Top[MapTreeLeaf[Unknown, Unknown]]]`
+ expression/collections/maptree.py:116:28: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Never, object]]`, found `Option[MapTreeLeaf[Never, Never]]`
+ expression/collections/maptree.py:116:39: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Never`, found `object`
- expression/collections/maptree.py:116:59: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Unknown, object]]`, found `Option[Top[MapTreeLeaf[Unknown, Unknown]]]`
+ expression/collections/maptree.py:116:59: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Never, object]]`, found `Option[MapTreeLeaf[Never, Never]]`
- expression/collections/maptree.py:121:24: error[invalid-return-type] Return type does not match returned value: expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Key@rebalance | Unknown, object]]`
+ expression/collections/maptree.py:121:24: error[invalid-return-type] Return type does not match returned value: expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Key@rebalance, object]]`
- expression/collections/maptree.py:121:27: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance | Unknown, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`
+ expression/collections/maptree.py:121:27: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`
+ expression/collections/maptree.py:121:40: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Never, Never]]`
+ expression/collections/maptree.py:121:51: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Key@rebalance`, found `object`
- expression/collections/maptree.py:121:71: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance | Unknown, object]]`, found `Option[Top[MapTreeLeaf[Unknown, Unknown]]]`
+ expression/collections/maptree.py:121:71: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Never, Never]]`
- expression/collections/maptree.py:132:32: error[invalid-return-type] Return type does not match returned value: expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Unknown | Key@rebalance, object]]`
+ expression/collections/maptree.py:132:32: error[invalid-return-type] Return type does not match returned value: expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Key@rebalance, object]]`
+ expression/collections/maptree.py:133:29: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Never, object]]`
- expression/collections/maptree.py:133:32: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Unknown, object]]`, found `Option[Top[MapTreeLeaf[Unknown, Unknown]]]`
+ expression/collections/maptree.py:133:32: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Never, object]]`, found `Option[MapTreeLeaf[Never, Never]]`
+ expression/collections/maptree.py:133:42: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Never`, found `object`
- expression/collections/maptree.py:133:62: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Unknown, object]]`, found `Option[Top[MapTreeLeaf[Unknown, Unknown]]]`
+ expression/collections/maptree.py:133:62: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Never, object]]`, found `Option[MapTreeLeaf[Never, Never]]`
- expression/collections/maptree.py:134:29: error[invalid-argument-type] Argument to function `mk` is incorrect: Argument type `object` does not satisfy upper bound `SupportsLessThan` of type variable `Key`
- expression/collections/maptree.py:136:29: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Unknown | Key@rebalance, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`
+ expression/collections/maptree.py:136:29: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`
+ expression/collections/maptree.py:136:32: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Never, Never]]`
- expression/collections/maptree.py:141:28: error[invalid-return-type] Return type does not match returned value: expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Unknown | Key@rebalance, object]]`
+ expression/collections/maptree.py:141:28: error[invalid-return-type] Return type does not match returned value: expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Key@rebalance, object]]`
- expression/collections/maptree.py:141:31: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Unknown | Key@rebalance, object]]`, found `Option[Top[MapTreeLeaf[Unknown, Unknown]]]`
+ expression/collections/maptree.py:141:31: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Never, Never]]`
+ expression/collections/maptree.py:141:41: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Key@rebalance`, found `object`
- expression/collections/maptree.py:141:61: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Unknown | Key@rebalance, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`
+ expression/collections/maptree.py:141:61: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`
+ expression/collections/maptree.py:141:64: error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`, found `Option[MapTreeLeaf[Never, Never]]`
- Found 202 diagnostics
+ Found 210 diagnostics

tornado (https://github.com/tornadoweb/tornado)
- tornado/routing.py:355:55: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `dict[str, Any] | None`, found `object`
+ tornado/routing.py:355:55: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `dict[str, Any] | None`, found `@Todo | dict[str, Any] | str`
- tornado/routing.py:355:55: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `str | None`, found `object`
+ tornado/routing.py:355:55: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `str | None`, found `@Todo | dict[str, Any] | str`

pandera (https://github.com/pandera-dev/pandera)
- pandera/decorators.py:371:21: error[unresolved-attribute] Object of type `object` has no attribute `coerce`
- Found 1633 diagnostics
+ Found 1632 diagnostics

antidote (https://github.com/Finistere/antidote)
+ tests/core/test_catalog.py:384:38: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- Found 236 diagnostics
+ Found 237 diagnostics

koda-validate (https://github.com/keithasaurus/koda-validate)
- koda_validate/_internal.py:248:16: error[invalid-return-type] Return type does not match returned value: expected `(Any, /) -> tuple[Literal[True], A@_wrap_sync_validator] | tuple[Literal[False], Invalid]`, found `bound method Top[_ToTupleValidator[Unknown]]._validate_to_tuple(val: Never) -> tuple[Literal[True], object] | tuple[Literal[False], Invalid]`
+ koda_validate/_internal.py:248:16: error[invalid-return-type] Return type does not match returned value: expected `(Any, /) -> tuple[Literal[True], A@_wrap_sync_validator] | tuple[Literal[False], Invalid]`, found `bound method Top[_ToTupleValidator[Unknown]]._validate_to_tuple(val: Any) -> tuple[Literal[True], object] | tuple[Literal[False], Invalid]`
- koda_validate/_internal.py:265:16: error[invalid-return-type] Return type does not match returned value: expected `(Any, /) -> Awaitable[tuple[Literal[True], A@_wrap_async_validator] | tuple[Literal[False], Invalid]]`, found `bound method Top[_ToTupleValidator[Unknown]]._validate_to_tuple_async(val: Never) -> CoroutineType[object, Never, tuple[Literal[True], object] | tuple[Literal[False], Invalid]]`
+ koda_validate/_internal.py:265:16: error[invalid-return-type] Return type does not match returned value: expected `(Any, /) -> Awaitable[tuple[Literal[True], A@_wrap_async_validator] | tuple[Literal[False], Invalid]]`, found `bound method Top[_ToTupleValidator[Unknown]]._validate_to_tuple_async(val: Any) -> CoroutineType[Any, Any, tuple[Literal[True], object] | tuple[Literal[False], Invalid]]`
- koda_validate/serialization/json_schema.py:431:38: error[invalid-argument-type] Argument is incorrect: Expected `Validator[Any] | Predicate[Any] | PredicateAsync[Any]`, found `object`
- koda_validate/serialization/json_schema.py:451:29: error[invalid-argument-type] Argument is incorrect: Expected `Validator[Any] | Predicate[Any] | PredicateAsync[Any]`, found `object`
- koda_validate/serialization/json_schema.py:464:37: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `object`
- koda_validate/serialization/json_schema.py:467:29: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `object`
- koda_validate/serialization/json_schema.py:468:29: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `object`
- koda_validate/serialization/json_schema.py:469:54: error[not-iterable] Object of type `object` is not iterable
- Found 424 diagnostics
+ Found 418 diagnostics

meson (https://github.com/mesonbuild/meson)
- mesonbuild/build.py:425:24: error[invalid-return-type] Return type does not match returned value: expected `_T@copy_value`, found `Top[list[Unknown]] | Top[dict[Unknown, Unknown]] | Top[set[Unknown]]`
+ mesonbuild/build.py:425:24: error[invalid-return-type] Return type does not match returned value: expected `_T@copy_value`, found `list[Never] | dict[Never, Never] | set[Never]`

discord.py (https://github.com/Rapptz/discord.py)
- discord/app_commands/errors.py:453:95: error[unresolved-attribute] Object of type `Top[(...) -> Coroutine[object, Never, object]]` has no attribute `__qualname__`
+ discord/app_commands/errors.py:453:95: error[unresolved-attribute] Object of type `(...) -> Coroutine[Any, Any, Unknown]` has no attribute `__qualname__`
+ discord/ext/commands/core.py:1499:16: error[invalid-return-type] Return type does not match returned value: expected `Command[CogT@GroupMixin, (...), Any] | None`, found `(Command[CogT@GroupMixin, (...), Any] & Top[GroupMixin[Unknown]]) | Command[object, (...), Any]`
- discord/ext/commands/core.py:2358:32: error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `(Context[object], /) -> bool | Coroutine[Never, object, bool]`, found `def predicate[BotT](ctx: Context[BotT]) -> bool`
- discord/ext/commands/core.py:2433:32: error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `(Context[object], /) -> bool | Coroutine[Never, object, bool]`, found `def predicate[BotT](ctx: Context[BotT]) -> bool`
- discord/ext/commands/core.py:2632:32: error[invalid-argument-type] Argument to bound method `before_invoke` is incorrect: Expected `((object, Unknown, /) -> Coroutine[Never, object, Never]) | ((Unknown, /) -> Coroutine[Never, object, Never])`, found `((CogT@before_invoke, ContextT@before_invoke, /) -> Coroutine[Any, Any, Any]) | ((ContextT@before_invoke, /) -> Coroutine[Any, Any, Any])`
+ discord/ext/commands/core.py:2632:32: error[invalid-argument-type] Argument to bound method `before_invoke` is incorrect: Expected `((object, Unknown, /) -> Coroutine[Any, Any, Any]) | ((Unknown, /) -> Coroutine[Any, Any, Any])`, found `((CogT@before_invoke, ContextT@before_invoke, /) -> Coroutine[Any, Any, Any]) | ((ContextT@before_invoke, /) -> Coroutine[Any, Any, Any])`
- discord/ext/commands/core.py:2655:31: error[invalid-argument-type] Argument to bound method `after_invoke` is incorrect: Expected `((object, Unknown, /) -> Coroutine[Never, object, Never]) | ((Unknown, /) -> Coroutine[Never, object, Never])`, found `((CogT@after_invoke, ContextT@after_invoke, /) -> Coroutine[Any, Any, Any]) | ((ContextT@after_invoke, /) -> Coroutine[Any, Any, Any])`
+ discord/ext/commands/core.py:2655:31: error[invalid-argument-type] Argument to bound method `after_invoke` is incorrect: Expected `((object, Unknown, /) -> Coroutine[Any, Any, Any]) | ((Unknown, /) -> Coroutine[Any, Any, Any])`, found `((CogT@after_invoke, ContextT@after_invoke, /) -> Coroutine[Any, Any, Any]) | ((ContextT@after_invoke, /) -> Coroutine[Any, Any, Any])`
- Found 536 diagnostics
+ Found 535 diagnostics

mkdocs (https://github.com/mkdocs/mkdocs)
- mkdocs/contrib/search/__init__.py:44:34: error[invalid-argument-type] Argument to bound method `remove` is incorrect: Expected `Never`, found `~Literal["en"]`
- mkdocs/contrib/search/__init__.py:48:34: error[invalid-argument-type] Argument to bound method `remove` is incorrect: Expected `Never`, found `~Literal["en"]`
- mkdocs/plugins.py:514:24: error[not-iterable] Object of type `object` is not iterable
- Found 223 diagnostics
+ Found 220 diagnostics

prefect (https://github.com/PrefectHQ/prefect)
- src/integrations/prefect-docker/tests/test_containers.py:27:47: error[invalid-argument-type] Argument is incorrect: Expected `str`, found `str | bool | dict[Unknown | str, Unknown | int] | None`
- src/integrations/prefect-docker/tests/test_containers.py:27:47: error[invalid-argument-type] Argument is incorrect: Expected `str | list[str] | None`, found `str | bool | dict[Unknown | str, Unknown | int] | None`
- src/integrations/prefect-docker/tests/test_containers.py:27:47: error[invalid-argument-type] Argument is incorrect: Expected `str | None`, found `str | bool | dict[Unknown | str, Unknown | int] | None`
- src/integrations/prefect-docker/tests/test_containers.py:27:47: error[invalid-argument-type] Argument is incorrect: Expected `bool | None`, found `str | bool | dict[Unknown | str, Unknown | int] | None`
- src/integrations/prefect-docker/tests/test_containers.py:27:47: error[invalid-argument-type] Argument is incorrect: Expected `str | list[str] | None`, found `str | bool | dict[Unknown | str, Unknown | int] | None`
- src/integrations/prefect-docker/tests/test_containers.py:27:47: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, str] | list[str] | None`, found `str | bool | dict[Unknown | str, Unknown | int] | None`
- src/integrations/prefect-docker/tests/test_containers.py:27:47: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str | bool | dict[Unknown | str, Unknown | int] | None`
- src/integrations/prefect-docker/tests/test_containers.py:42:47: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str`
+ src/integrations/prefect-docker/tests/test_containers.py:26:31: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-docker/tests/test_containers.py:55:47: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str`
- src/integrations/prefect-docker/tests/test_containers.py:68:47: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str`
- src/integrations/prefect-docker/tests/test_containers.py:81:47: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str`
+ src/integrations/prefect-docker/tests/test_containers.py:41:26: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-docker/tests/test_containers.py:54:31: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-docker/tests/test_containers.py:67:31: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-docker/tests/test_containers.py:80:31: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-docker/tests/test_images.py:16:44: error[invalid-argument-type] Argument is incorrect: Expected `str`, found `str | bool`
+ src/integrations/prefect-docker/tests/test_images.py:16:23: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-docker/tests/test_images.py:16:44: error[invalid-argument-type] Argument is incorrect: Expected `str | None`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:16:44: error[invalid-argument-type] Argument is incorrect: Expected `str | None`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:16:44: error[invalid-argument-type] Argument is incorrect: Expected `bool`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:16:44: error[invalid-argument-type] Argument is incorrect: Expected `DockerHost | None`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:16:44: error[invalid-argument-type] Argument is incorrect: Expected `DockerRegistryCredentials | None`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:16:44: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:29:47: error[invalid-argument-type] Argument is incorrect: Expected `bool`, found `str`
+ src/integrations/prefect-docker/tests/test_images.py:28:27: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-docker/tests/test_images.py:29:47: error[invalid-argument-type] Argument is incorrect: Expected `DockerRegistryCredentials | None`, found `str`
- src/integrations/prefect-docker/tests/test_images.py:29:47: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str`
- src/integrations/prefect-docker/tests/test_images.py:31:16: error[unresolved-attribute] Attribute `id` is not defined on `list[Unknown]` in union `Unknown | list[Unknown]`
- src/integrations/prefect-docker/tests/test_images.py:51:17: error[invalid-argument-type] Argument is incorrect: Expected `bool`, found `str`
+ src/integrations/prefect-docker/tests/test_images.py:48:27: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-docker/tests/test_images.py:51:17: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str`
- src/integrations/prefect-docker/tests/test_images.py:53:16: error[unresolved-attribute] Attribute `id` is not defined on `list[Unknown]` in union `Unknown | list[Unknown]`
- src/integrations/prefect-docker/tests/test_images.py:64:47: error[invalid-argument-type] Argument is incorrect: Expected `str`, found `str | bool`
+ src/integrations/prefect-docker/tests/test_images.py:63:28: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-docker/tests/test_images.py:64:47: error[invalid-argument-type] Argument is incorrect: Expected `str | None`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:64:47: error[invalid-argument-type] Argument is incorrect: Expected `str | None`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:64:47: error[invalid-argument-type] Argument is incorrect: Expected `bool`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:64:47: error[invalid-argument-type] Argument is incorrect: Expected `DockerRegistryCredentials | None`, found `str | bool`
- src/integrations/prefect-docker/tests/test_images.py:64:47: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str | bool`
- src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:428:17: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `str`
+ src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:425:33: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:20:13: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `None`
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:29:13: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `None`
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:38:13: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `None`
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:57:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:103:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:16:15: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:149:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:195:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:240:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:24:15: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:33:15: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:286:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:46:11: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:98:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_custom_objects.py:344:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:144:11: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:190:11: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:236:11: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:274:11: error[invalid-await] `object` is not awaitable
+ src/integrations/prefect-kubernetes/tests/test_custom_objects.py:332:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_deployments.py:18:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_deployments.py:16:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_deployments.py:38:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_deployments.py:34:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_deployments.py:70:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_deployments.py:68:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_deployments.py:92:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_deployments.py:88:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_deployments.py:113:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_deployments.py:110:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_deployments.py:141:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_deployments.py:137:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_jobs.py:36:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_jobs.py:34:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_jobs.py:52:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_jobs.py:50:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_jobs.py:68:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_jobs.py:66:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_jobs.py:87:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_jobs.py:84:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_jobs.py:107:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_jobs.py:104:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_jobs.py:131:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_jobs.py:127:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_jobs.py:159:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_jobs.py:156:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_pods.py:29:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_pods.py:27:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_pods.py:46:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_pods.py:42:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_pods.py:78:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_pods.py:76:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_pods.py:96:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_pods.py:92:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_pods.py:115:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_pods.py:112:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_pods.py:137:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_pods.py:133:11: error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_pods.py:167:9: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ src/integrations/prefect-kubernetes/tests/test_pods.py:163:11: error[invalid-await] `object` is not awaitable
- src/prefect/cache_policies.py:311:25: error[unresolved-attribute] Attribute `__code__` is not defined on `(...) -> Any` in union `Unknown | ((...) -> Any)`
+ src/prefect/cache_policies.py:311:25: error[unresolved-attribute] Attribute `__code__` is not defined on `((...) -> Any) & ((*args: object, **kwargs: object) -> object)` in union `Unknown | (((...) -> Any) & ((*args: object, **kwargs: object) -> object))`
- src/prefect/context.py:578:13: error[invalid-argument-type] Argument is incorrect: Expected `str | None`, found `object`
- src/prefect/task_engine.py:1642:28: error[invalid-await] `Unknown | R@AsyncTaskRunEngine | Coroutine[Any, Any, R@AsyncTaskRunEngine]` is not awaitable
- src/prefect/tasks.py:185:9: error[unresolved-attribute] Attribute `__code__` is not defined on `(...) -> Any` in union `Unknown | ((...) -> Any)`
+ src/prefect/tasks.py:185:9: error[unresolved-attribute] Attribute `__code__` is not defined on `((...) -> Any) & ((*args: object, **kwargs: object) -> object)` in union `Unknown | (((...) -> Any) & ((*args: object, **kwargs: object) -> object))`
- src/prefect/tasks.py:795:13: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `(() -> str) | TaskRunNameCallbackWithParameters | str | None`, found `(() -> str) | TaskRunNameCallbackWithParameters | str | ... omitted 3 union elements`
+ src/prefect/tasks.py:795:13: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `(() -> str) | TaskRunNameCallbackWithParameters | str | None`, found `((() -> str) & ~<class 'NotSet'>) | TaskRunNameCallbackWithParameters | str | ... omitted 4 union elements`
- src/prefect/utilities/_engine.py:64:13: error[invalid-argument-type] Argument to bound method `is_callback_with_parameters` is incorrect: Expected `(...) -> str`, found `(Unknown & Top[(...) -> object]) | (str & Top[(...) -> object]) | (() -> str) | TaskRunNameCallbackWithParameters`
+ src/prefect/utilities/_engine.py:64:13: error[invalid-argument-type] Argument to bound method `is_callback_with_parameters` is incorrect: Expected `(...) -> str`, found `(Unknown & Top[(...) -> object]) | (str & Top[(...) -> object]) | ((() -> str) & ((*args: object, **kwargs: object) -> object)) | (TaskRunNameCallbackWithParameters & ((*args: object, **kwargs: object) -> object))`
- src/prefect/utilities/_engine.py:66:48: error[unknown-argument] Argument `parameters` does not match any known parameter
- src/prefect/utilities/_engine.py:69:29: error[missing-argument] No argument provided for required parameter `parameters` of bound method `__call__`
+ src/prefect/utilities/_engine.py:85:12: error[invalid-return-type] Return type does not match returned value: expected `str`, found `object`
- src/prefect/utilities/_engine.py:93:13: error[unresolved-attribute] Object of type `Top[(...) -> object]` has no attribute `__name__`
+ src/prefect/utilities/_engine.py:93:13: error[unresolved-attribute] Object of type `(...) -> object` has no attribute `__name__`
- Found 5804 diagnostics
+ Found 5779 diagnostics

hydra-zen (https://github.com/mit-ll-responsible-ai/hydra-zen)
- src/hydra_zen/funcs.py:55:20: error[invalid-assignment] Object of type `Top[(...) -> object]` is not assignable to `(...) -> T@partial_with_wrapper`
+ src/hydra_zen/funcs.py:55:20: error[invalid-assignment] Object of type `(...) -> object` is not assignable to `(...) -> T@partial_with_wrapper`
- src/hydra_zen/structured_configs/_implementations.py:1199:46: error[not-iterable] Object of type `object` is not iterable
- src/hydra_zen/structured_configs/_implementations.py:2181:82: error[invalid-assignment] Object of type `object` is not assignable to `((str, /) -> bool) | Collection[str | int]`
- Found 516 diagnostics
+ Found 514 diagnostics

pwndbg (https://github.com/pwndbg/pwndbg)
- pwndbg/aglib/heap/ptmalloc.py:151:20: error[unsupported-operator] Operator `-` is not supported between objects of type `object` and `Literal[64]`
- pwndbg/commands/__init__.py:397:24: error[unresolved-attribute] Object of type `object` has no attribute `prog`
- pwndbg/commands/__init__.py:399:29: error[invalid-argument-type] Argument to function `initialize_parser_recursively` is incorrect: Expected `ArgumentParser`, found `object`
- pwndbg/commands/__init__.py:402:33: error[unresolved-attribute] Object of type `object` has no attribute `prog`
- pwndbg/commands/__init__.py:420:24: error[unresolved-attribute] Object of type `object` has no attribute `prog`
- pwndbg/commands/__init__.py:422:33: error[unresolved-attribute] Object of type `object` has no attribute `prog`
- pwndbg/commands/ptmalloc2.py:110:40: error[not-iterable] Object of type `object` is not iterable
- Found 1870 diagnostics
+ Found 1863 diagnostics

scikit-build-core (https://github.com/scikit-build/scikit-build-core)
+ src/scikit_build_core/build/wheel.py:99:20: error[no-matching-overload] No overload of bound method `__init__` matches arguments
- Found 57 diagnostics
+ Found 58 diagnostics

pandas (https://github.com/pandas-dev/pandas)
- pandas/io/formats/excel.py:1014:17: error[invalid-argument-type] Argument to bound method `_write_cells` is incorrect: Expected `Never`, found `Iterable[ExcelCell]`
- pandas/io/parsers/python_parser.py:1291:54: error[invalid-argument-type] Argument to bound method `_remove_skipped_rows` is incorrect: Expected `list[list[str | bytes | date | ... omitted 10 union elements]]`, found `Top[list[Unknown]]`
+ pandas/io/parsers/python_parser.py:1291:54: error[invalid-argument-type] Argument to bound method `_remove_skipped_rows` is incorrect: Expected `list[list[str | bytes | date | ... omitted 10 union elements]]`, found `list[Never] | list[list[str | bytes | date | ... omitted 10 union elements]]`
- Found 4460 diagnostics
+ Found 4459 diagnostics

bokeh (https://github.com/bokeh/bokeh)
- src/bokeh/core/property/wrappers.py:571:29: error[invalid-argument-type] Method `__getitem__` of type `Overload[(index: int, /) -> Any, (index: slice[int | None, int | None, int | None], /) -> Sequence[Any]]` cannot be called with key of type `tuple[@Todo, ...]` on object of type `Sequence[Any]`
+ src/bokeh/core/property/wrappers.py:571:29: error[invalid-argument-type] Method `__getitem__` of type `Overload[(index: int, /) -> Never, (index: slice[int | None, int | None, int | None], /) -> MutableSequence[Never]]` cannot be called with key of type `tuple[@Todo, ...]` on object of type `MutableSequence[Never]`
+ src/bokeh/core/property/wrappers.py:573:21: error[invalid-assignment] Invalid subscript assignment with key of type `tuple[@Todo, ...]` and value of type `Unknown` on object of type `MutableSequence[Never]`
- src/bokeh/core/property/wrappers.py:571:29: error[invalid-argument-type] Method `__getitem__` of type `Overload[(index: int, /) -> object, (index: slice[int | None, int | None, int | None], /) -> Top[MutableSequence[Unknown]]]` cannot be called with key of type `tuple[@Todo, ...]` on object of type `Top[MutableSequence[Unknown]]`
- src/bokeh/core/property/wrappers.py:573:21: error[invalid-assignment] Cannot assign to a subscript on an object of type `Sequence[Any]`
- Found 852 diagnostics
+ Found 851 diagnostics

ibis (https://github.com/ibis-project/ibis)
- ibis/formats/pandas.py:81:29: error[invalid-assignment] Object of type `Top[list[Any]]` is not assignable to `Series[Any] | Iterable[tuple[str, dtype[Any] | ExtensionDtype]]`
- Found 4873 diagnostics
+ Found 4872 diagnostics

manticore (https://github.com/trailofbits/manticore)
+ manticore/native/cpu/abstractcpu.py:350:36: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- Found 11086 diagnostics
+ Found 11087 diagnostics

static-frame (https://github.com/static-frame/static-frame)
- static_frame/core/container_util.py:1373:21: error[invalid-argument-type] Argument to bound method `reindex` is incorrect: Expected `Never`, found `Literal[False]`
- static_frame/core/frame.py:1325:31: error[no-matching-overload] No overload of bound method `astype` matches arguments
- static_frame/core/frame.py:1461:31: error[no-matching-overload] No overload of bound method `astype` matches arguments
- static_frame/core/frame.py:1623:29: error[unsupported-operator] Operator `-` is not supported between objects of type `object` and `Literal[1]`
- static_frame/core/frame.py:6765:53: error[invalid-argument-type] Argument to bound method `fillna` is incorrect: Expected `Never`, found `int | float`
- static_frame/core/index_datetime.py:153:25: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `(Any & <Protocol with members '__len__'> & ~Top[Index[Any]] & ~str) | (Any & ndarray[object, object]) | (datetime64[date | int | None] & <Protocol with members '__len__'>)`
+ static_frame/core/index_datetime.py:153:25: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `(Any & <Protocol with members '__len__'> & ~Top[Index[Any]] & ~str) | (Any & ndarray[Any, Any]) | (datetime64[date | int | None] & <Protocol with members '__len__'>)`
+ static_frame/core/series.py:3314:62: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/core/series.py:3330:56: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/yarn.py:260:13: error[invalid-assignment] Object of type `ndarray[object, object]` is not assignable to attribute `_values` of type `ndarray[Any, dtype[object_]]`
- static_frame/test/unit/test_container_util.py:359:13: error[no-matching-overload] No overload of bound method `tolist` matches arguments
- static_frame/test/unit/test_container_util.py:379:13: error[no-matching-overload] No overload of bound method `tolist` matches arguments
- static_frame/test/unit/test_container_util.py:553:13: error[no-matching-overload] No overload of bound method `tolist` matches arguments
- static_frame/test/unit/test_container_util.py:568:26: error[no-matching-overload] No overload of bound method `tolist` matches arguments
- static_frame/test/unit/test_series.py:519:70: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:526:60: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:576:89: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:585:47: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:596:47: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:618:49: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:625:46: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:636:63: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:637:61: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:638:63: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_series.py:639:61: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- Found 1845 diagnostics
+ Found 1826 diagnostics

sympy (https://github.com/sympy/sympy)
- sympy/polys/fields.py:244:17: error[unresolved-attribute] Object of type `object` has no attribute `to_field`
- sympy/polys/rings.py:876:55: error[unresolved-attribute] Object of type `object` has no attribute `is_element`
- sympy/polys/rings.py:936:55: error[unresolved-attribute] Object of type `object` has no attribute `is_element`
- sympy/polys/rings.py:1013:55: error[unresolved-attribute] Object of type `object` has no attribute `is_element`
- sympy/polys/series/ring.py:794:42: error[invalid-argument-type] Argument to bound method `equal_repr` is incorrect: Expected `TSeriesElement[Er@PowerSeriesElement]`, found `object`
+ sympy/polys/series/ring.py:794:42: error[invalid-argument-type] Argument to bound method `equal_repr` is incorrect: Expected `TSeriesElement[Er@PowerSeriesElement]`, found `Unknown | TSeriesElement[Never]`
- Found 16320 diagnostics
+ Found 16316 diagnostics

core (https://github.com/home-assistant/core)
- homeassistant/components/mqtt/client.py:879:30: error[unresolved-attribute] Object of type `object` has no attribute `__name__`
- Found 12021 diagnostics
+ Found 12020 diagnostics

colour (https://github.com/colour-science/colour)
- colour/continuous/signal.py:1207:45: error[invalid-argument-type] Argument to function `as_float_array` is incorrect: Expected `_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements`, found `ndarray[tuple[int], dtype[object]] | ExtensionArray`
+ colour/continuous/signal.py:1207:45: error[invalid-argument-type] Argument to function `as_float_array` is incorrect: Expected `_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements`, found `ndarray[tuple[int], dtype[Any]] | ExtensionArray`

pandas-stubs (https://github.com/pandas-dev/pandas-stubs)
- tests/indexes/bool/test_add.py:62:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
+ tests/indexes/bool/test_add.py:62:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
- tests/indexes/bool/test_add.py:63:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/bool/test_add.py:63:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/bool/test_add.py:64:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
+ tests/indexes/bool/test_add.py:64:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
- tests/indexes/bool/test_add.py:66:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
+ tests/indexes/bool/test_add.py:66:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
- tests/indexes/bool/test_sub.py:70:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `Never`
+ tests/indexes/bool/test_sub.py:70:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Never`
- tests/indexes/bool/test_sub.py:71:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/bool/test_sub.py:71:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/bool/test_sub.py:72:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
+ tests/indexes/bool/test_sub.py:72:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
- tests/indexes/bool/test_sub.py:74:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
+ tests/indexes/bool/test_sub.py:74:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
- tests/indexes/complex/test_add.py:63:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
+ tests/indexes/complex/test_add.py:63:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
- tests/indexes/complex/test_add.py:64:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/complex/test_add.py:64:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/complex/test_add.py:66:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
+ tests/indexes/complex/test_add.py:66:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
- tests/indexes/complex/test_add.py:69:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
+ tests/indexes/complex/test_add.py:69:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
- tests/indexes/complex/test_sub.py:63:15: error[type-assertion-failure] Type `Unknown` does not match asserted type `Never`
+ tests/indexes/complex/test_sub.py:63:15: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Never`
- tests/indexes/complex/test_sub.py:65:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/complex/test_sub.py:65:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/complex/test_sub.py:67:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
+ tests/indexes/complex/test_sub.py:67:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
- tests/indexes/complex/test_sub.py:70:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
+ tests/indexes/complex/test_sub.py:70:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
- tests/indexes/float/test_add.py:63:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
+ tests/indexes/float/test_add.py:63:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
- tests/indexes/float/test_add.py:64:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/float/test_add.py:64:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/float/test_add.py:65:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
+ tests/indexes/float/test_add.py:65:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
- tests/indexes/float/test_add.py:67:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
+ tests/indexes/float/test_add.py:67:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
- tests/indexes/float/test_sub.py:63:15: error[type-assertion-failure] Type `Unknown` does not match asserted type `Never`
+ tests/indexes/float/test_sub.py:63:15: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Never`
- tests/indexes/float/test_sub.py:65:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/float/test_sub.py:65:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/float/test_sub.py:66:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
+ tests/indexes/float/test_sub.py:66:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
- tests/indexes/float/test_sub.py:68:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
+ tests/indexes/float/test_sub.py:68:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
- tests/indexes/int/test_add.py:63:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
+ tests/indexes/int/test_add.py:63:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
- tests/indexes/int/test_add.py:64:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/int/test_add.py:64:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/int/test_add.py:65:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
+ tests/indexes/int/test_add.py:65:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
- tests/indexes/int/test_add.py:67:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
+ tests/indexes/int/test_add.py:67:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
- tests/indexes/int/test_sub.py:63:15: error[type-assertion-failure] Type `Unknown` does not match asserted type `Never`
+ tests/indexes/int/test_sub.py:63:15: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Never`
- tests/indexes/int/test_sub.py:65:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/int/test_sub.py:65:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/int/test_sub.py:66:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
+ tests/indexes/int/test_sub.py:66:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[float64]]`
- tests/indexes/int/test_sub.py:68:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
+ tests/indexes/int/test_sub.py:68:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[complex128]]`
- tests/indexes/str/test_add.py:66:9: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/indexes/str/test_add.py:66:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
- tests/indexes/str/test_add.py:70:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[str_]]`
+ tests/indexes/str/test_add.py:70:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[str_]]`
+ tests/indexes/test_add.py:67:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_add.py:71:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_add.py:75:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_add.py:79:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_floordiv.py:97:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_floordiv.py:102:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_floordiv.py:107:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_floordiv.py:112:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_floordiv.py:113:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_floordiv.py:115:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_mul.py:71:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_mul.py:75:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_mul.py:79:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_mul.py:83:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_sub.py:66:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_sub.py:70:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_sub.py:74:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
+ tests/indexes/test_sub.py:78:9: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `Any`
- tests/series/bool/test_add.py:86:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
+ tests/series/bool/test_add.py:86:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted type `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]`
- tests/series/bool/test_add.py:87:11: error[type-assertion-failure] Type `Unknown` does not match asserted type `ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]]`
+ tests/series/bool/test_add.py:87:11: error[type-assertion-failure] Type `ndarray[tuple[Any, ...], dtype[Unknown]]` does not match asserted ty

... (truncated 102 lines) ...

@astral-sh-bot
Copy link

astral-sh-bot bot commented Mar 5, 2026

Memory usage report

Summary

Project Old New Diff Outcome
flake8 48.09MB 48.09MB -0.00% (764.00B) ⬇️
trio 118.49MB 118.48MB -0.01% (12.11kB) ⬇️
sphinx 266.91MB 266.89MB -0.01% (22.51kB) ⬇️
prefect 696.10MB 696.05MB -0.01% (51.42kB) ⬇️

Significant changes

Click to expand detailed breakdown

flake8

Name Old New Diff Outcome
FunctionType<'db>::last_definition_signature_ 60.05kB 59.69kB -0.60% (368.00B) ⬇️
Type<'db>::class_member_with_policy_ 554.08kB 553.82kB -0.05% (264.00B) ⬇️
Type<'db>::apply_specialization_ 227.97kB 227.84kB -0.06% (132.00B) ⬇️

trio

Name Old New Diff Outcome
FunctionType<'db>::last_definition_signature_ 245.38kB 241.62kB -1.53% (3.76kB) ⬇️
Type<'db>::class_member_with_policy_ 2.02MB 2.01MB -0.10% (2.05kB) ⬇️
Type<'db>::apply_specialization_ 770.55kB 768.98kB -0.20% (1.58kB) ⬇️
FunctionType 1.51MB 1.51MB -0.05% (736.00B) ⬇️
StaticClassLiteral<'db>::try_mro_ 896.73kB 896.09kB -0.07% (652.00B) ⬇️
Type<'db>::try_call_dunder_get_ 1.39MB 1.39MB -0.03% (508.00B) ⬇️
Type<'db>::class_member_with_policy_::interned_arguments 1.12MB 1.12MB -0.04% (416.00B) ⬇️
FunctionType<'db>::signature_ 1.08MB 1.08MB -0.04% (400.00B) ⬇️
Specialization 489.09kB 488.70kB -0.08% (400.00B) ⬇️
Type<'db>::apply_specialization_::interned_arguments 657.89kB 657.58kB -0.05% (320.00B) ⬇️
Type<'db>::member_lookup_with_policy_::interned_arguments 875.88kB 875.57kB -0.03% (312.00B) ⬇️
Type<'db>::member_lookup_with_policy_ 1.71MB 1.71MB -0.02% (300.00B) ⬇️
code_generator_of_static_class 214.24kB 214.09kB -0.07% (152.00B) ⬇️
GenericAlias 208.69kB 208.55kB -0.07% (144.00B) ⬇️
StaticClassLiteral<'db>::try_mro_::interned_arguments 207.77kB 207.63kB -0.07% (144.00B) ⬇️
... 6 more

sphinx

Name Old New Diff Outcome
FunctionType<'db>::last_definition_signature_ 229.07kB 215.50kB -5.93% (13.58kB) ⬇️
Type<'db>::class_member_with_policy_ 7.59MB 7.59MB -0.08% (6.16kB) ⬇️
Type<'db>::apply_specialization_ 1.75MB 1.74MB -0.33% (5.92kB) ⬇️
FunctionType 3.16MB 3.16MB -0.04% (1.44kB) ⬇️
is_redundant_with_impl::interned_arguments 2.14MB 2.14MB +0.06% (1.29kB) ⬇️
is_redundant_with_impl 1.86MB 1.86MB +0.05% (1.01kB) ⬇️
IntersectionType 928.80kB 929.75kB +0.10% (968.00B) ⬇️
FunctionType<'db>::signature_ 2.30MB 2.30MB -0.03% (800.00B) ⬇️
infer_expression_types_impl 21.84MB 21.84MB +0.00% (684.00B) ⬇️
Type<'db>::member_lookup_with_policy_ 6.13MB 6.13MB +0.01% (372.00B) ⬇️
UnionType<'db>::from_two_elements_ 1.44MB 1.44MB +0.02% (364.00B) ⬇️
UnionType 1.30MB 1.30MB +0.02% (240.00B) ⬇️
PropertyInstanceType 28.45kB 28.27kB -0.60% (176.00B) ⬇️
UnionType<'db>::from_two_elements_::interned_arguments 760.72kB 760.89kB +0.02% (176.00B) ⬇️
Type<'db>::try_call_dunder_get_ 4.97MB 4.97MB +0.00% (136.00B) ⬇️
... 5 more

prefect

Name Old New Diff Outcome
FunctionType<'db>::last_definition_signature_ 767.05kB 745.99kB -2.75% (21.07kB) ⬇️
Type<'db>::class_member_with_policy_ 17.12MB 17.11MB -0.07% (11.70kB) ⬇️
Type<'db>::apply_specialization_ 3.84MB 3.83MB -0.21% (8.43kB) ⬇️
FunctionType 8.39MB 8.39MB -0.04% (3.57kB) ⬇️
FunctionType<'db>::signature_ 3.87MB 3.86MB -0.05% (2.07kB) ⬇️
CallableType 1.90MB 1.90MB -0.05% (1.05kB) ⬇️
StaticClassLiteral<'db>::try_mro_ 6.15MB 6.15MB -0.01% (644.00B) ⬇️
Type<'db>::member_lookup_with_policy_ 15.26MB 15.25MB -0.00% (476.00B) ⬇️
cached_protocol_interface 409.17kB 408.73kB -0.11% (456.00B) ⬇️
Type<'db>::try_call_dunder_get_ 10.32MB 10.32MB +0.00% (444.00B) ⬇️
Type<'db>::class_member_with_policy_::interned_arguments 9.20MB 9.20MB -0.00% (416.00B) ⬇️
is_equivalent_to_object_inner 211.12kB 210.72kB -0.19% (408.00B) ⬇️
is_redundant_with_impl 5.68MB 5.68MB -0.01% (336.00B) ⬇️
ProtocolInterface 220.52kB 220.26kB -0.12% (264.00B) ⬇️
UnionType 3.62MB 3.62MB -0.01% (224.00B) ⬇️
... 20 more

@astral-sh-bot
Copy link

astral-sh-bot bot commented Mar 5, 2026

ecosystem-analyzer results

Lint rule Added Removed Changed
type-assertion-failure 35 0 77
invalid-argument-type 10 19 20
unused-type-ignore-comment 4 11 0
unresolved-attribute 0 11 2
invalid-return-type 1 0 7
no-matching-overload 0 7 0
invalid-assignment 0 3 2
not-iterable 0 4 0
unsupported-operator 0 2 0
Total 50 57 108

Full report with detailed diff (timing results)

@codspeed-hq
Copy link

codspeed-hq bot commented Mar 5, 2026

Merging this PR will improve performance by 6.02%

⚡ 1 improved benchmark
✅ 25 untouched benchmarks
⏩ 30 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime freqtrade 9.4 s 8.9 s +6.02%

Comparing charlie/top-mat (867b50f) with main (3dc78b0)

Open in CodSpeed

Footnotes

  1. 30 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@charliermarsh
Copy link
Member Author

The ecosystem changes here look pretty good, so gonna spend some time understanding the change.

@charliermarsh charliermarsh force-pushed the charlie/top-mat branch 2 times, most recently from eb12da2 to e2a211a Compare March 5, 2026 02:50
@charliermarsh charliermarsh marked this pull request as ready for review March 5, 2026 15:09
@charliermarsh charliermarsh marked this pull request as draft March 5, 2026 15:43
@charliermarsh charliermarsh marked this pull request as ready for review March 5, 2026 15:53
Copy link
Member

@ibraheemdev ibraheemdev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't looked through the ecosystem report, but the code changes look good to me.

@charliermarsh charliermarsh merged commit d247905 into main Mar 5, 2026
51 checks passed
@charliermarsh charliermarsh deleted the charlie/top-mat branch March 5, 2026 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ecosystem-analyzer ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Don't top-materialize non-generic attributes of top-materialized types

3 participants