Skip to content

[ty] Fix Top materialization to respect TypeVar bounds and ignore defaults#24024

Draft
AlexWaygood wants to merge 11 commits intomainfrom
alex/fix-top-materialize
Draft

[ty] Fix Top materialization to respect TypeVar bounds and ignore defaults#24024
AlexWaygood wants to merge 11 commits intomainfrom
alex/fix-top-materialize

Conversation

@AlexWaygood
Copy link
Member

@AlexWaygood AlexWaygood commented Mar 17, 2026

No description provided.

@AlexWaygood AlexWaygood added the ty Multi-file analysis & type inference label Mar 17, 2026
@AlexWaygood AlexWaygood force-pushed the alex/fix-top-materialize branch 2 times, most recently from e3bdab4 to cbb1fca Compare March 17, 2026 19:33
@astral-sh-bot
Copy link

astral-sh-bot bot commented Mar 17, 2026

Typing conformance results

No changes detected ✅

Current numbers
The percentage of diagnostics emitted that were expected errors held steady at 85.29%. The percentage of expected errors that received a diagnostic held steady at 78.70%. The number of fully passing files held steady at 64/133.

@astral-sh-bot
Copy link

astral-sh-bot bot commented Mar 17, 2026

Memory usage report

Summary

Project Old New Diff Outcome
prefect 704.90MB 705.02MB +0.02% (114.96kB)
trio 116.12MB 116.17MB +0.04% (49.87kB)
sphinx 263.10MB 263.13MB +0.01% (37.25kB)
flake8 48.16MB 48.16MB +0.00% (1.62kB)

Significant changes

Click to expand detailed breakdown

prefect

Name Old New Diff Outcome
infer_expression_types_impl 56.20MB 56.22MB +0.04% (23.95kB)
is_redundant_with_impl 5.57MB 5.59MB +0.40% (22.97kB)
IntersectionType<'db>::from_two_elements_ 7.80kB 20.05kB +157.16% (12.25kB)
is_redundant_with_impl::interned_arguments 5.34MB 5.35MB +0.22% (11.95kB)
IntersectionType 2.28MB 2.29MB +0.37% (8.54kB)
all_narrowing_constraints_for_expression 7.41MB 7.41MB -0.09% (6.84kB)
infer_definition_types 90.85MB 90.85MB +0.01% (6.28kB)
infer_deferred_types 14.55MB 14.56MB +0.03% (4.36kB)
Type<'db>::try_call_dunder_get_ 10.66MB 10.67MB +0.03% (3.44kB)
Type<'db>::apply_specialization_ 3.63MB 3.63MB +0.09% (3.41kB)
all_negative_narrowing_constraints_for_expression 2.81MB 2.81MB -0.10% (2.91kB)
IntersectionType<'db>::from_two_elements_::interned_arguments 5.33kB 7.73kB +45.16% (2.41kB)
UnionType 3.50MB 3.50MB +0.06% (2.31kB)
Type<'db>::member_lookup_with_policy_ 16.26MB 16.26MB +0.01% (2.26kB)
FunctionType<'db>::signature_ 3.94MB 3.94MB +0.06% (2.24kB)
... 36 more

trio

Name Old New Diff Outcome
is_redundant_with_impl 464.09kB 484.50kB +4.40% (20.41kB)
IntersectionType<'db>::from_two_elements_ 8.98kB 18.44kB +105.35% (9.46kB)
is_redundant_with_impl::interned_arguments 519.66kB 528.77kB +1.75% (9.11kB)
IntersectionType 219.60kB 225.14kB +2.52% (5.54kB)
UnionType 300.81kB 302.39kB +0.52% (1.58kB)
IntersectionType<'db>::from_two_elements_::interned_arguments 4.55kB 6.02kB +32.08% (1.46kB)
Type<'db>::class_member_with_policy_ 2.00MB 2.00MB +0.06% (1.28kB)
Type<'db>::member_lookup_with_policy_ 1.82MB 1.82MB -0.06% (1.13kB)
infer_expression_types_impl 6.06MB 6.06MB +0.02% (1.02kB)
Type<'db>::apply_specialization_ 733.69kB 732.68kB -0.14% (1.01kB)
infer_definition_types 7.52MB 7.52MB +0.01% (900.00B)
Type<'db>::apply_specialization_::interned_arguments 642.89kB 642.27kB -0.10% (640.00B)
StaticClassLiteral<'db>::implicit_attribute_inner_ 751.21kB 751.76kB +0.07% (560.00B)
StaticClassLiteral<'db>::implicit_attribute_inner_::interned_arguments 599.16kB 599.62kB +0.08% (480.00B)
Type<'db>::try_call_dunder_get_ 1.37MB 1.37MB -0.03% (460.00B)
... 20 more

sphinx

Name Old New Diff Outcome
is_redundant_with_impl 1.76MB 1.78MB +1.08% (19.42kB)
check_file_impl 5.06MB 5.05MB -0.29% (15.13kB)
IntersectionType<'db>::from_two_elements_ 6.71kB 15.64kB +132.87% (8.92kB)
is_redundant_with_impl::interned_arguments 1.99MB 2.00MB +0.43% (8.85kB)
IntersectionType 875.02kB 880.59kB +0.64% (5.57kB)
infer_definition_types 24.44MB 24.45MB +0.02% (4.50kB)
UnionType 1.24MB 1.24MB +0.15% (1.89kB)
infer_expression_type_impl 3.58MB 3.59MB +0.04% (1.64kB)
IntersectionType<'db>::from_two_elements_::interned_arguments 4.12kB 5.33kB +29.17% (1.20kB)
Type<'db>::try_call_dunder_get_ 4.95MB 4.95MB +0.02% (1.20kB)
all_narrowing_constraints_for_expression 2.49MB 2.49MB -0.04% (1.08kB)
infer_expression_types_impl 19.85MB 19.85MB +0.00% (752.00B)
infer_scope_types_impl 15.55MB 15.55MB +0.00% (712.00B)
loop_header_reachability 519.22kB 519.74kB +0.10% (528.00B)
all_negative_narrowing_constraints_for_expression 1.09MB 1.09MB -0.04% (456.00B)
... 19 more

flake8

Name Old New Diff Outcome
IntersectionType<'db>::from_two_elements_ 1.35kB 1.80kB +32.95% (456.00B)
infer_definition_types 1.95MB 1.95MB +0.02% (312.00B)
IntersectionType<'db>::from_two_elements_::interned_arguments 704.00B 968.00B +37.50% (264.00B)
infer_expression_types_impl 1.03MB 1.03MB +0.02% (192.00B)
infer_expression_type_impl 198.41kB 198.55kB +0.07% (144.00B)
is_redundant_with_impl::interned_arguments 136.38kB 136.47kB +0.06% (88.00B)
is_redundant_with_impl 138.26kB 138.34kB +0.06% (84.00B)
all_negative_narrowing_constraints_for_expression 45.82kB 45.77kB -0.10% (48.00B)
infer_scope_types_impl 1002.95kB 1003.00kB +0.00% (48.00B)
infer_unpack_types 48.53kB 48.57kB +0.10% (48.00B)
loop_header_reachability 42.80kB 42.85kB +0.11% (48.00B)
Type<'db>::try_call_dunder_get_ 375.43kB 375.45kB +0.01% (24.00B)

@astral-sh-bot
Copy link

astral-sh-bot bot commented Mar 17, 2026

ecosystem-analyzer results

Failing projects:

Project Old Status New Status Old Return Code New Return Code
prefect success abnormal exit 1 -6
kopf success abnormal exit 1 -6

Diagnostic changes:

Lint rule Added Removed Changed
invalid-argument-type 27 28 68
unresolved-attribute 33 7 43
invalid-return-type 11 3 17
no-matching-overload 3 25 0
invalid-assignment 2 1 20
unsupported-operator 3 0 6
not-subscriptable 2 3 2
assert-type-unspellable-subtype 0 0 5
call-non-callable 0 2 1
index-out-of-bounds 0 0 3
not-iterable 1 1 1
invalid-raise 0 2 0
unused-type-ignore-comment 0 2 0
too-many-positional-arguments 1 0 0
Total 83 74 166

Showing a random sample of 147 of 323 changes. See the HTML report for the full diff.

Raw diff sample (147 of 323 changes)
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, 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[SupportsLessThan, object]]`
- 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:51 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:121:71 error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[SupportsLessThan, 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[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[SupportsLessThan, object]]`
- 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:62 error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[SupportsLessThan, object]]`, found `Option[MapTreeLeaf[Never, Never]]`
- 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: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:31 error[invalid-argument-type] Argument to function `mk` is incorrect: Expected `Option[MapTreeLeaf[SupportsLessThan, 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[Key@rebalance, object]]`, found `Option[MapTreeLeaf[Key@rebalance, Value@rebalance]]`

antidote (https://github.com/Finistere/antidote)
+ src/antidote/lib/interface_ext/_interface.py:540:36 error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `Weight@__register_implementation`, found `(Predicate[NeutralWeight] & ImplementationWeight & ~Predicate[ImplementationWeight]) | (Weight@__register_implementation & ~Predicate[ImplementationWeight] & ~NeutralWeight)`

anyio (https://github.com/agronholm/anyio)
- src/anyio/_backends/_trio.py:1099:30 error[invalid-argument-type] Argument to function `convert_item` is incorrect: Expected `str | bytes | PathLike[str] | PathLike[bytes]`, found `str | bytes | (Sequence[str | bytes | PathLike[str] | PathLike[bytes]] & PathLike[object]) | PathLike[str] | PathLike[bytes]`
+ src/anyio/_backends/_trio.py:1099:30 error[invalid-argument-type] Argument to function `convert_item` is incorrect: Expected `str | bytes | PathLike[str] | PathLike[bytes]`, found `str | bytes | (Sequence[str | bytes | PathLike[str] | PathLike[bytes]] & PathLike[str | bytes]) | PathLike[str] | PathLike[bytes]`
- src/anyio/_core/_sockets.py:988:39 error[invalid-argument-type] Argument is incorrect: Expected `str | bytes | PathLike[str] | PathLike[bytes]`, found `(str & ~ByteStreamConnectable) | (bytes & ~ByteStreamConnectable) | (tuple[str | IPv4Address | IPv6Address, int] & PathLike[object] & ~ByteStreamConnectable) | (PathLike[str] & ~ByteStreamConnectable)`
+ src/anyio/_core/_sockets.py:988:39 error[invalid-argument-type] Argument is incorrect: Expected `str | bytes | PathLike[str] | PathLike[bytes]`, found `(str & ~ByteStreamConnectable) | (bytes & ~ByteStreamConnectable) | (tuple[str | IPv4Address | IPv6Address, int] & PathLike[str | bytes] & ~ByteStreamConnectable) | (PathLike[str] & ~ByteStreamConnectable)`

black (https://github.com/psf/black)
- src/black/trans.py:301:20 error[invalid-raise] Cannot use object of type `object` as an exception cause
- src/black/trans.py:497:13 error[unresolved-attribute] Unresolved attribute `__cause__` on type `object`
- src/black/trans.py:498:13 error[invalid-assignment] Object of type `object` is not assignable to attribute `__cause__` of type `BaseException | None`
- src/black/trans.py:1111:20 error[invalid-return-type] Return type does not match returned value: expected `Ok[list[int]] | Err[CannotTransform]`, found `(Ok[None] & Top[Err[Unknown]]) | Err[CannotTransform]`
+ src/black/trans.py:1111:20 error[invalid-return-type] Return type does not match returned value: expected `Ok[list[int]] | Err[CannotTransform]`, found `(Ok[None] & Top[Err[Unknown & Exception]]) | Err[CannotTransform]`

discord.py (https://github.com/Rapptz/discord.py)
- 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: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 & Cog) | (Unknown & None)]]) | Command[Cog | None, (...), Any]`
- discord/ext/commands/core.py:1942:17 error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]] & ~<Protocol with members '__commands_checks__'>`
+ discord/ext/commands/core.py:1942:17 error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]] & ~<Protocol with members '__commands_checks__'>`
- discord/ext/commands/core.py:2365:17 error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]] & ~<Protocol with members '__commands_checks__'>`
+ discord/ext/commands/core.py:2365:17 error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]] & ~<Protocol with members '__commands_checks__'>`
- discord/ext/commands/core.py:2368:13 error[invalid-assignment] Object of type `Literal[True]` is not assignable to attribute `__discord_app_commands_guild_only__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]]`
+ discord/ext/commands/core.py:2368:13 error[invalid-assignment] Object of type `Literal[True]` is not assignable to attribute `__discord_app_commands_guild_only__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]]`
- discord/ext/commands/core.py:2440:17 error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]] & ~<Protocol with members '__commands_checks__'>`
+ discord/ext/commands/core.py:2440:17 error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]] & ~<Protocol with members '__commands_checks__'>`
- discord/ext/commands/core.py:2442:13 error[unresolved-attribute] Object of type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]]` has no attribute `__commands_checks__`
+ discord/ext/commands/core.py:2442:13 error[unresolved-attribute] Object of type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]]` has no attribute `__commands_checks__`
- discord/ext/commands/core.py:2499:13 error[invalid-assignment] Object of type `CooldownMapping[Context[Any]]` is not assignable to attribute `__commands_cooldown__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]]`
+ discord/ext/commands/core.py:2499:13 error[invalid-assignment] Object of type `CooldownMapping[Context[Any]]` is not assignable to attribute `__commands_cooldown__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]]`
- discord/ext/commands/core.py:2547:13 error[invalid-assignment] Object of type `DynamicCooldownMapping[Context[Any]]` is not assignable to attribute `__commands_cooldown__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]]`
+ discord/ext/commands/core.py:2547:13 error[invalid-assignment] Object of type `DynamicCooldownMapping[Context[Any]]` is not assignable to attribute `__commands_cooldown__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]]`
- discord/ext/commands/core.py:2634:13 error[invalid-assignment] Object of type `((CogT@before_invoke, ContextT@before_invoke, /) -> Coroutine[Any, Any, Any]) | ((ContextT@before_invoke, /) -> Coroutine[Any, Any, Any])` is not assignable to attribute `__before_invoke__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]]`
+ discord/ext/commands/core.py:2634:13 error[invalid-assignment] Object of type `((CogT@before_invoke, ContextT@before_invoke, /) -> Coroutine[Any, Any, Any]) | ((ContextT@before_invoke, /) -> Coroutine[Any, Any, Any])` is not assignable to attribute `__before_invoke__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]]`
- discord/ext/commands/core.py:2657:13 error[invalid-assignment] Object of type `((CogT@after_invoke, ContextT@after_invoke, /) -> Coroutine[Any, Any, Any]) | ((ContextT@after_invoke, /) -> Coroutine[Any, Any, Any])` is not assignable to attribute `__after_invoke__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[Unknown, Top[(...)], Unknown]]`
+ discord/ext/commands/core.py:2657:13 error[invalid-assignment] Object of type `((CogT@after_invoke, ContextT@after_invoke, /) -> Coroutine[Any, Any, Any]) | ((ContextT@after_invoke, /) -> Coroutine[Any, Any, Any])` is not assignable to attribute `__after_invoke__` on type `((...) -> Coroutine[Any, Any, Any]) & ~Top[Command[(Unknown & Cog) | (Unknown & None), Top[(...)], Unknown]]`
- discord/ui/container.py:152:65 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- discord/ui/container.py:151:30 error[unresolved-attribute] Object of type `((Self@_init_children, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[object]` has no attribute `__discord_ui_model_type__`
+ discord/ui/container.py:151:30 error[unresolved-attribute] Object of type `(((Self@_init_children, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[BaseView]) | (Item[Any] & ~Item[BaseView])` has no attribute `__discord_ui_model_type__`
- discord/ui/container.py:151:62 error[unresolved-attribute] Object of type `((Self@_init_children, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[object]` has no attribute `__discord_ui_model_kwargs__`
+ discord/ui/container.py:151:62 error[unresolved-attribute] Object of type `(((Self@_init_children, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[BaseView]) | (Item[Any] & ~Item[BaseView])` has no attribute `__discord_ui_model_kwargs__`
- discord/ui/container.py:153:31 error[unresolved-attribute] Object of type `((Self@_init_children, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[object]` has no attribute `__name__`
+ discord/ui/container.py:153:31 error[unresolved-attribute] Object of type `(((Self@_init_children, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[BaseView]) | (Item[Any] & ~Item[BaseView])` has no attribute `__name__`
- discord/ui/section.py:192:31 error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `Item[V@Section]`, found `(str & Item[object]) | Item[Any]`
+ discord/ui/section.py:192:31 error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `Item[V@Section]`, found `(str & Item[BaseView]) | (Item[Any] & Item[BaseView]) | TextDisplay[Unknown]`
- discord/ui/view.py:273:30 error[unresolved-attribute] Object of type `((Any, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[object]` has no attribute `__discord_ui_model_type__`
+ discord/ui/view.py:273:30 error[unresolved-attribute] Object of type `(((Any, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[BaseView]) | (Item[Any] & ~Item[BaseView])` has no attribute `__discord_ui_model_type__`
- discord/ui/view.py:273:62 error[unresolved-attribute] Object of type `((Any, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[object]` has no attribute `__discord_ui_model_kwargs__`
+ discord/ui/view.py:273:62 error[unresolved-attribute] Object of type `(((Any, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[BaseView]) | (Item[Any] & ~Item[BaseView])` has no attribute `__discord_ui_model_kwargs__`
- discord/ui/view.py:278:31 error[unresolved-attribute] Object of type `((Any, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[object]` has no attribute `__name__`
+ discord/ui/view.py:278:31 error[unresolved-attribute] Object of type `(((Any, Interaction[Any], Any, /) -> Coroutine[Any, Any, Any]) & ~Item[BaseView]) | (Item[Any] & ~Item[BaseView])` has no attribute `__name__`

dulwich (https://github.com/dulwich/dulwich)
+ dulwich/patch.py:1784:22 error[invalid-assignment] Object of type `Message[str, str] | (BinaryIO & Message[object, Never]) | (TextIO & Message[object, Never])` is not assignable to `Message[str, str]`
- dulwich/porcelain/__init__.py:1602:21 error[invalid-assignment] Object of type `list[str | bytes | (Sequence[str | bytes | PathLike[str]] & PathLike[object]) | PathLike[str]]` is not assignable to `Sequence[str | bytes | PathLike[str]] | bytes | PathLike[str] | None`
+ dulwich/porcelain/__init__.py:1602:21 error[invalid-assignment] Object of type `list[str | bytes | (Sequence[str | bytes | PathLike[str]] & PathLike[str | bytes]) | PathLike[str]]` is not assignable to `Sequence[str | bytes | PathLike[str]] | bytes | PathLike[str] | None`
- dulwich/porcelain/__init__.py:8124:23 error[invalid-argument-type] Argument to function `open` is incorrect: Expected `int | str | bytes | PathLike[str] | PathLike[bytes]`, found `str | PathLike[str] | (BinaryIO & PathLike[object])`
+ dulwich/porcelain/__init__.py:8124:23 error[invalid-argument-type] Argument to function `open` is incorrect: Expected `int | str | bytes | PathLike[str] | PathLike[bytes]`, found `str | PathLike[str] | (BinaryIO & PathLike[str | bytes])`
- dulwich/worktree.py:314:24 error[invalid-assignment] Object of type `list[str | bytes | (Iterable[str | bytes | PathLike[str]] & PathLike[object]) | PathLike[str]]` is not assignable to `Iterable[str | bytes | PathLike[str]] | bytes | PathLike[str]`
+ dulwich/worktree.py:314:24 error[invalid-assignment] Object of type `list[str | bytes | (Iterable[str | bytes | PathLike[str]] & PathLike[str | bytes]) | PathLike[str]]` is not assignable to `Iterable[str | bytes | PathLike[str]] | bytes | PathLike[str]`

hydpy (https://github.com/hydpy-dev/hydpy)
- hydpy/core/objecttools.py:775:28 error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | Buffer | SupportsInt | SupportsIndex | SupportsTrunc`, found `(~str & ~Real) | (Integral & ~str) | (Unknown & ~Real) | (Unknown & Integral) | float`
+ hydpy/core/objecttools.py:775:28 error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | Buffer | SupportsInt | SupportsIndex | SupportsTrunc`, found `~Real | Integral | float`
+ hydpy/cythons/modelutils.py:1189:43 error[invalid-argument-type] Argument to function `set_pointer1d` is incorrect: Expected `LinkSequences[Any, Any]`, found `(InputSequences[Unknown] & ~InputSequences[Model] & ~OutputSequences[Model, OutputSequence]) | (OutputSequences[Any, Any] & ~InputSequences[Model] & ~OutputSequences[Model, OutputSequence]) | (LinkSequences[Any, Any] & ~InputSequences[Model] & ~OutputSequences[Model, OutputSequence])`

ibis (https://github.com/ibis-project/ibis)
+ ibis/legacy/udf/vectorized.py:98:16 error[invalid-return-type] Return type does not match returned value: expected `Series[Any]`, found `ndarray[tuple[Any, ...], dtype[Any]] & ~Top[list[Unknown]] & ~ndarray[tuple[int, ...], dtype[generic[object]]] & ~Top[Series[(Unknown & str) | (Unknown & bytes) | (Unknown & int) | ... omitted 12 union elements]]`

jax (https://github.com/google/jax)
- jax/_src/numpy/indexing.py:341:46 error[unsupported-operator] Operator `<` is not supported between objects of type `(int & ~Top[unsignedinteger[Any]]) | (integer[Any] & ~Top[unsignedinteger[Any]]) | slice[Any, Any, Any] | ... omitted 5 union elements` and `Literal[0]`
+ jax/_src/numpy/indexing.py:341:46 error[unsupported-operator] Operator `<` is not supported between objects of type `(int & ~Top[unsignedinteger[Unknown & NBitBase]]) | (integer[Any] & ~Top[unsignedinteger[Unknown & NBitBase]]) | slice[Any, Any, Any] | ... omitted 5 union elements` and `Literal[0]`
+ jax/_src/numpy/lax_numpy.py:4865:49 error[invalid-argument-type] Argument to function `ensure_arraylike_tuple` is incorrect: Expected `Sequence[Any]`, found `(ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]] & ~Array) | (Sequence[Array | ndarray[tuple[Any, ...], dtype[Any]] | numpy.bool[builtins.bool] | ... omitted 4 union elements] & ~ndarray[tuple[int, ...], dtype[generic[object]]] & ~Array)`
- jax/_src/stateful_rng.py:43:28 error[invalid-argument-type] Argument to function `index` is incorrect: Expected `SupportsIndex`, found `int | (Sequence[int] & Top[number[Any, int | float | complex]])`
+ jax/_src/stateful_rng.py:43:28 error[invalid-argument-type] Argument to function `index` is incorrect: Expected `SupportsIndex`, found `int | (Sequence[int] & Top[number[Unknown & NBitBase, int | float | complex]])`

koda-validate (https://github.com/keithasaurus/koda-validate)
- koda_validate/serialization/json_schema.py:319:43 error[invalid-argument-type] Argument to function `escape` is incorrect: Argument type `object` does not satisfy constraints (`str`, `bytes`) of type variable `AnyStr`
+ koda_validate/serialization/json_schema.py:319:43 error[invalid-argument-type] Argument to function `escape` is incorrect: Argument type `str | bytes` does not satisfy constraints (`str`, `bytes`) of type variable `AnyStr`

kopf (https://github.com/nolar/kopf)
- FAILED old=success(1) new=abnormal exit(-6)

meson (https://github.com/mesonbuild/meson)
- mesonbuild/interpreterbase/_unholder.py:18:16 error[invalid-return-type] Return type does not match returned value: expected `Sequence[Divergent] | int | dict[str, Divergent] | ... omitted 5 union elements`, found `HoldableObject | int | str | Top[list[Unknown]] | Top[dict[Unknown, Unknown]]`
- mesonbuild/dependencies/detect.py:190:16 error[invalid-return-type] Return type does not match returned value: expected `list[DependencyCandidate[ExternalDependency]]`, found `list[DependencyCandidate[Unknown]] | list[(((Environment, DependencyObjectKWs, /) -> list[DependencyCandidate[ExternalDependency]]) & DependencyCandidate[object]) | DependencyCandidate[Unknown]] | list[DependencyCandidate[ExternalDependency]]`
+ mesonbuild/dependencies/detect.py:189:25 error[too-many-positional-arguments] Too many positional arguments to bound method `__call__`: expected 1, got 3

mkdocs (https://github.com/mkdocs/mkdocs)
- mkdocs/config/config_options.py:137:34 error[unresolved-attribute] Object of type `type` has no attribute `_schema`
+ mkdocs/config/config_options.py:142:56 error[invalid-argument-type] Method `__getitem__` of type `bound method Top[dict[Unknown, Unknown]].__getitem__(key: Never, /) -> object` cannot be called with key of type `str` on object of type `Top[dict[Unknown, Unknown]]`

pandas (https://github.com/pandas-dev/pandas)
+ pandas/core/dtypes/astype.py:183:18 error[no-matching-overload] No overload of bound method `astype` matches arguments
+ pandas/compat/numpy/function.py:110:12 error[invalid-return-type] Return type does not match returned value: expected `tuple[bool, Any]`, found `tuple[bool | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]), Unknown | tuple[(ndarray[tuple[Any, ...], dtype[Any]] & ndarray[tuple[int, ...], dtype[generic[object]]]) | None, *tuple[Unknown, ...]]]`
- pandas/compat/numpy/function.py:208:12 error[invalid-return-type] Return type does not match returned value: expected `AxisNoneT@validate_clip_with_axis | None`, found `AxisNoneT@validate_clip_with_axis | ndarray[tuple[Any, ...], dtype[Any]]`
+ pandas/compat/numpy/function.py:208:12 error[invalid-return-type] Return type does not match returned value: expected `AxisNoneT@validate_clip_with_axis | None`, found `ndarray[tuple[Any, ...], dtype[Any]] | AxisNoneT@validate_clip_with_axis`
- pandas/core/algorithms.py:581:18 error[no-matching-overload] No overload of bound method `astype` matches arguments
+ pandas/core/algorithms.py:213:15 error[unresolved-attribute] Attribute `construct_array_type` is not defined on `dtype[Any] & ~dtype[generic[object]]` in union `(dtype[Any] & ~dtype[generic[object]]) | ExtensionDtype`
+ pandas/core/algorithms.py:803:26 error[unresolved-attribute] Attribute `factorize` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/algorithms.py:540:33 error[invalid-argument-type] Argument to bound method `isin` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | Series | (SequenceNotStr[Unknown] & ndarray[tuple[object, ...], dtype[object]])`
+ pandas/core/algorithms.py:540:33 error[invalid-argument-type] Argument to bound method `isin` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | Series | (SequenceNotStr[Unknown] & ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/algorithms.py:540:16 error[unresolved-attribute] Attribute `isin` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/arrays/boolean.py:264:12 error[invalid-return-type] Return type does not match returned value: expected `tuple[ndarray[tuple[Any, ...], dtype[Any]], ndarray[tuple[Any, ...], dtype[Any]]]`, found `tuple[(Unknown & ndarray[tuple[object, ...], dtype[object]]) | ndarray[tuple[int], dtype[Any]], Unknown | None | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | ndarray[tuple[Any, ...], dtype[Any]]]`
+ pandas/core/arrays/boolean.py:264:12 error[invalid-return-type] Return type does not match returned value: expected `tuple[ndarray[tuple[Any, ...], dtype[Any]], ndarray[tuple[Any, ...], dtype[Any]]]`, found `tuple[(Unknown & ndarray[tuple[int, ...], dtype[generic[object]]]) | ndarray[tuple[int], dtype[Any]], Unknown | None | ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | ndarray[tuple[Any, ...], dtype[Any]]]`
+ pandas/core/arrays/interval.py:1699:13 error[unresolved-attribute] Attribute `_putmask` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(DatetimeArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (TimedeltaArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/arrays/interval.py:1701:13 error[unresolved-attribute] Attribute `_putmask` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(DatetimeArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (TimedeltaArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/arrays/interval.py:736:27 error[unresolved-attribute] Object of type `ExtensionArray & ~Top[Interval[Unknown]]` has no attribute `categories`
+ pandas/core/arrays/interval.py:736:27 error[unresolved-attribute] Object of type `ExtensionArray & ~Top[Interval[(Unknown & int) | (Unknown & float) | (Unknown & Timestamp) | (Unknown & Timedelta)]]` has no attribute `categories`
- pandas/core/arrays/interval.py:740:35 error[unresolved-attribute] Object of type `ExtensionArray & ~Top[Interval[Unknown]]` has no attribute `categories`
+ pandas/core/arrays/interval.py:740:35 error[unresolved-attribute] Object of type `ExtensionArray & ~Top[Interval[(Unknown & int) | (Unknown & float) | (Unknown & Timestamp) | (Unknown & Timedelta)]]` has no attribute `categories`
- pandas/core/arrays/interval.py:743:25 error[unresolved-attribute] Object of type `ExtensionArray & ~Top[Interval[Unknown]]` has no attribute `categories`
+ pandas/core/arrays/interval.py:743:25 error[unresolved-attribute] Object of type `ExtensionArray & ~Top[Interval[(Unknown & int) | (Unknown & float) | (Unknown & Timestamp) | (Unknown & Timedelta)]]` has no attribute `categories`
- pandas/core/arrays/interval.py:744:62 error[unresolved-attribute] Object of type `ExtensionArray & ~Top[Interval[Unknown]]` has no attribute `categories`
+ pandas/core/arrays/interval.py:744:62 error[unresolved-attribute] Object of type `ExtensionArray & ~Top[Interval[(Unknown & int) | (Unknown & float) | (Unknown & Timestamp) | (Unknown & Timedelta)]]` has no attribute `categories`
+ pandas/core/arrays/masked.py:1849:20 error[invalid-return-type] Return type does not match returned value: expected `numpy.bool[builtins.bool] | NAType`, found `(numpy.bool[builtins.bool] & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/arrays/masked.py:1943:20 error[invalid-return-type] Return type does not match returned value: expected `numpy.bool[builtins.bool] | NAType`, found `(numpy.bool[builtins.bool] & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/arrays/masked.py:1945:20 error[invalid-return-type] Return type does not match returned value: expected `numpy.bool[builtins.bool] | NAType`, found `(numpy.bool[builtins.bool] & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/arrays/sparse/array.py:2033:19 error[unresolved-attribute] Attribute `sp_index` is not defined on `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]` in union `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | Any`
+ pandas/core/arrays/sparse/array.py:2033:19 error[unresolved-attribute] Attribute `sp_index` is not defined on `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]` in union `ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]] | (builtins.bool & Any)`
+ pandas/core/base.py:1183:22 error[unresolved-attribute] Attribute `unique` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/construction.py:335:43 error[no-matching-overload] No overload of bound method `astype` matches arguments
- pandas/core/construction.py:358:31 error[unresolved-attribute] Attribute `dtype` is not defined on `Sequence[object] & ~MaskedArray[tuple[object, ...], dtype[object]]` in union `(Sequence[object] & ~MaskedArray[tuple[object, ...], dtype[object]]) | (ExtensionArray & ~MaskedArray[tuple[object, ...], dtype[object]]) | ndarray[tuple[Any, ...], dtype[Any]] | (Index & ~MaskedArray[tuple[object, ...], dtype[object]]) | (Series & ~MaskedArray[tuple[object, ...], dtype[object]])`
+ pandas/core/construction.py:358:31 error[unresolved-attribute] Attribute `dtype` is not defined on `Sequence[object] & ~MaskedArray[tuple[int, ...], dtype[generic[object]]]` in union `(Sequence[object] & ~MaskedArray[tuple[int, ...], dtype[generic[object]]]) | (ExtensionArray & ~MaskedArray[tuple[int, ...], dtype[generic[object]]]) | ndarray[tuple[Any, ...], dtype[Any]] | (Index & ~MaskedArray[tuple[int, ...], dtype[generic[object]]]) | (Series & ~MaskedArray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/construction.py:658:47 error[unresolved-attribute] Attribute `storage` is not defined on `dtype[object]` in union `Unknown | dtype[object] | StringDtype`
+ pandas/core/construction.py:658:47 error[unresolved-attribute] Attribute `storage` is not defined on `dtype[generic[object]]` in union `dtype[generic[object]] | Unknown | StringDtype`
- pandas/core/dtypes/cast.py:346:23 error[unresolved-attribute] Object of type `ExtensionArray & ~ndarray[tuple[object, ...], dtype[object]]` has no attribute `iloc`
+ pandas/core/dtypes/cast.py:346:23 error[unresolved-attribute] Object of type `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])` has no attribute `iloc`
+ pandas/core/dtypes/concat.py:89:20 error[unresolved-attribute] Attribute `_concat_same_type` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/dtypes/missing.py:245:18 error[unresolved-attribute] Attribute `isna` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/frame.py:594:25 error[invalid-argument-type] Argument to function `nested_data_to_arrays` is incorrect: Expected `Sequence[Unknown]`, found `(Unknown & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (list[Unknown] & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Unknown]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/frame.py:642:21 error[invalid-argument-type] Argument to function `construct_2d_arraylike_from_scalar` is incorrect: Expected `str | bytes | date | ... omitted 10 union elements`, found `(Unknown & ~DataFrame & ~BlockManager & ~None & ~Top[dict[Unknown, Unknown]] & ~ndarray[tuple[object, ...], dtype[object]] & ~Series & ~Index & ~ExtensionArray) | (list[Unknown] & ~BlockManager & ~ndarray[tuple[object, ...], dtype[object]] & ~Series & ~Index & ~ExtensionArray)`
+ pandas/core/frame.py:642:21 error[invalid-argument-type] Argument to function `construct_2d_arraylike_from_scalar` is incorrect: Expected `str | bytes | date | ... omitted 10 union elements`, found `(Unknown & ~DataFrame & ~BlockManager & ~None & ~Top[dict[Unknown, Unknown]] & ~ndarray[tuple[int, ...], dtype[generic[object]]] & ~Series & ~Index & ~ExtensionArray) | (list[Unknown] & ~BlockManager & ~ndarray[tuple[int, ...], dtype[generic[object]]] & ~Series & ~Index & ~ExtensionArray)`
- pandas/core/groupby/grouper.py:551:31 error[unresolved-attribute] Attribute `categories` is not defined on `Index & ~ndarray[tuple[object, ...], dtype[object]]` in union `(Unknown & Series & ~Grouper & ~ndarray[tuple[object, ...], dtype[object]]) | (Index & ~ndarray[tuple[object, ...], dtype[object]]) | (Unknown & ExtensionArray & ~Grouper & ~ndarray[tuple[object, ...], dtype[object]]) | (Unknown & BinGrouper & ~ndarray[tuple[object, ...], dtype[object]])`
+ pandas/core/groupby/grouper.py:551:31 error[unresolved-attribute] Attribute `categories` is not defined on `Index & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(Unknown & Series & ~Grouper & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (Index & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (Unknown & ExtensionArray & ~Grouper & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (Unknown & BinGrouper & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/groupby/grouper.py:552:50 error[invalid-argument-type] Argument to function `recode_for_groupby` is incorrect: Expected `Categorical`, found `(Unknown & Series & ~Grouper & ~ndarray[tuple[object, ...], dtype[object]]) | (Index & ~ndarray[tuple[object, ...], dtype[object]]) | (Unknown & ExtensionArray & ~Grouper & ~ndarray[tuple[object, ...], dtype[object]]) | (Unknown & BinGrouper & ~ndarray[tuple[object, ...], dtype[object]])`
+ pandas/core/groupby/grouper.py:552:50 error[invalid-argument-type] Argument to function `recode_for_groupby` is incorrect: Expected `Categorical`, found `(Unknown & Series & ~Grouper & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (Index & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (Unknown & ExtensionArray & ~Grouper & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (Unknown & BinGrouper & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/groupby/ops.py:565:20 error[unresolved-attribute] Attribute `_groupby_op` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/indexes/base.py:2633:16 error[unresolved-attribute] Attribute `na_value` is not defined on `dtype[Any] & ~dtype[generic[object]]` in union `(dtype[Any] & ~dtype[generic[object]]) | ExtensionDtype`
+ pandas/core/indexes/base.py:5716:13 error[unresolved-attribute] Attribute `_putmask` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
+ pandas/core/indexes/base.py:7252:26 error[unresolved-attribute] Attribute `delete` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ExtensionArray & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- pandas/core/indexes/multi.py:598:54 error[invalid-argument-type] Argument to function `tuples_to_object_array` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[object_]]`, found `(ndarray[tuple[object, ...], dtype[object]] & ~Index) | ndarray[tuple[Any, ...], dtype[Any]]`
+ pandas/core/indexes/multi.py:598:54 error[invalid-argument-type] Argument to function `tuples_to_object_array` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[object_]]`, found `(ndarray[tuple[int, ...], dtype[generic[object]]] & ~Index) | ndarray[tuple[Any, ...], dtype[Any]]`
- pandas/core/indexes/multi.py:4663:49 error[invalid-argument-type] Argument to bound method `from_tuples` is incorrect: Expected `Iterable[tuple[Hashable, ...]]`, found `(Unknown & ~Generator[object, None, None] & ~MultiIndex) | (list[object] & ~MultiIndex)`
+ pandas/core/indexes/multi.py:4663:49 error[invalid-argument-type] Argument to bound method `from_tuples` is incorrect: Expected `Iterable[tuple[Hashable, ...]]`, found `(Unknown & ~Generator[object, Never, object] & ~MultiIndex) | (list[object] & ~MultiIndex)`
- pandas/core/indexing.py:2889:21 error[index-out-of-bounds] Index 1 is out of bounds for tuple `tuple[(Unknown & slice[object, object, object]) | (Unknown & ndarray[tuple[object, ...], dtype[object]]) | (Unknown & Top[list[Unknown]]) | (Unknown & Index)]` with length 1
+ pandas/core/indexing.py:2889:21 error[index-out-of-bounds] Index 1 is out of bounds for tuple `tuple[(Unknown & slice[object, object, object]) | (Unknown & ndarray[tuple[int, ...], dtype[generic[object]]]) | (Unknown & Top[list[Unknown]]) | (Unknown & Index)]` with length 1
- pandas/core/nanops.py:1469:30 error[no-matching-overload] No overload of bound method `astype` matches arguments
+ pandas/core/ops/mask_ops.py:78:12 error[invalid-return-type] Return type does not match returned value: expected `tuple[ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]], ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]]`, found `tuple[ndarray[tuple[int, ...], dtype[generic[object]]] | Unknown, Unknown | ndarray[tuple[Any, ...], dtype[Any]]]`
- pandas/core/ops/mask_ops.py:121:18 error[unsupported-operator] Operator `^` is not supported between objects of type `ndarray[tuple[Any, ...], dtype[Any]] | (NAType & ndarray[tuple[object, ...], dtype[object]])` and `bool | ndarray[tuple[Any, ...], dtype[Any]] | NAType`
+ pandas/core/ops/mask_ops.py:121:18 error[unsupported-operator] Operator `^` is not supported between objects of type `(ndarray[tuple[Any, ...], dtype[Any]] & ndarray[tuple[int, ...], dtype[generic[object]]]) | (NAType & ndarray[tuple[int, ...], dtype[generic[object]]])` and `bool | ndarray[tuple[Any, ...], dtype[Any]] | NAType`
- pandas/core/ops/mask_ops.py:171:18 error[unsupported-operator] Operator `&` is not supported between objects of type `(NAType & ndarray[tuple[object, ...], dtype[object]]) | ndarray[tuple[Any, ...], dtype[Any]]` and `bool | NAType | ndarray[tuple[Any, ...], dtype[Any]]`
+ pandas/core/ops/mask_ops.py:171:18 error[unsupported-operator] Operator `&` is not supported between objects of type `(NAType & ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ndarray[tuple[int, ...], dtype[generic[object]]])` and `bool | NAType | ndarray[tuple[Any, ...], dtype[Any]]`
- pandas/core/ops/mask_ops.py:189:12 error[invalid-return-type] Return type does not match returned value: expected `tuple[ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]], ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]]`, found `tuple[(NAType & ndarray[tuple[object, ...], dtype[object]]) | ndarray[tuple[Any, ...], dtype[Any]] | Unknown, Any | ndarray[tuple[Any, ...], dtype[Any]]]`
+ pandas/core/ops/mask_ops.py:189:12 error[invalid-return-type] Return type does not match returned value: expected `tuple[ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]], ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]]`, found `tuple[(NAType & ndarray[tuple[int, ...], dtype[generic[object]]]) | (ndarray[tuple[Any, ...], dtype[Any]] & ndarray[tuple[int, ...], dtype[generic[object]]]) | Unknown, Any | ndarray[tuple[Any, ...], dtype[Any]]]`
+ pandas/core/series.py:425:20 error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `dtype[generic[object]]`
- pandas/io/common.py:270:30 error[invalid-assignment] Object of type `object` is not assignable to `str | PathLike[str] | BaseBufferT@stringify_path`
+ pandas/io/common.py:270:30 error[invalid-assignment] Object of type `str | bytes` is not assignable to `str | PathLike[str] | BaseBufferT@stringify_path`
- pandas/io/formats/excel.py:730:31 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]] | tuple[ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]], ...], /) -> ndarray[tuple[Any, ...], dtype[object]], (key: SupportsIndex | tuple[SupportsIndex, ...], /) -> Any, (key: SupportsIndex | slice[Any, Any, Any] | EllipsisType | ... omitted 5 union elements, /) -> ndarray[tuple[Any, ...], dtype[object]], (key: str, /) -> ndarray[tuple[object, ...], dtype[Any]], (key: list[str], /) -> ndarray[tuple[object, ...], Unknown]]` cannot be called with key of type `Literal[0]` on object of type `ndarray[tuple[object, ...], dtype[object]]`
- pandas/io/formats/printing.py:261:13 error[invalid-argument-type] Argument to function `_pprint_seq` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | ... omitted 3 union elements`, found `(ndarray[tuple[object, ...], dtype[object]] & ~<Protocol with members '__next__'>) | (void & ~<Protocol with members '__next__'>) | (Top[list[Unknown]] & ~<Protocol with members '__next__'>) | ... omitted 6 union elements`
+ pandas/io/formats/printing.py:261:13 error[invalid-argument-type] Argument to function `_pprint_seq` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | ... omitted 3 union elements`, found `(ndarray[tuple[int, ...], dtype[generic[object]]] & ~<Protocol with members '__next__'>) | (void & ~<Protocol with members '__next__'>) | (Top[list[Unknown]] & ~<Protocol with members '__next__'>) | ... omitted 6 union elements`
- pandas/io/pytables.py:2774:17 error[invalid-argument-type] Argument to function `_unconvert_string_array` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `DatetimeArray | ndarray[tuple[Any, ...], dtype[Any]] | Unknown | Categorical | ndarray[tuple[Any, ...], Unknown]`
+ pandas/io/pytables.py:2774:17 error[invalid-argument-type] Argument to function `_unconvert_string_array` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `DatetimeArray | ndarray[tuple[Any, ...], dtype[Any]] | Unknown | Categorical`

pandera (https://github.com/pandera-dev/pandera)
- pandera/strategies/pandas_strategies.py:244:24 error[unresolved-attribute] Attribute `tz_localize` is not defined on `Index[Any]` in union `(Series[Any] & Top[Index[Any]]) | Index[Any]`
+ pandera/strategies/pandas_strategies.py:244:24 error[unresolved-attribute] Attribute `tz_localize` is not defined on `Index[Any]` in union `(Series[Any] & Top[Index[(Unknown & str) | (Unknown & bytes) | (Unknown & int) | ... omitted 12 union elements]]) | Index[Any]`

prefect (https://github.com/PrefectHQ/prefect)
- FAILED old=success(1) new=abnormal exit(-6)

pwndbg (https://github.com/pwndbg/pwndbg)
- pwndbg/aglib/heap/ptmalloc.py:268:30 error[call-non-callable] Object of type `~None & ~Type` is not callable
- pwndbg/aglib/heap/ptmalloc.py:550:34 error[not-subscriptable] Cannot subscript object of type `object` with no `__getitem__` method
- pwndbg/aglib/heap/ptmalloc.py:600:30 error[call-non-callable] Object of type `~None & ~Type` is not callable
- pwndbg/aglib/heap/ptmalloc.py:516:45 error[unresolved-attribute] Object of type `object` has no attribute `sizeof`
+ pwndbg/aglib/heap/ptmalloc.py:516:45 error[unresolved-attribute] Attribute `sizeof` is not defined on `type[CStruct2GDB]`, `None` in union `Type | type[CStruct2GDB] | None`
- pwndbg/aglib/heap/ptmalloc.py:519:25 error[unresolved-attribute] Object of type `object` has no attribute `sizeof`
+ pwndbg/aglib/heap/ptmalloc.py:519:25 error[unresolved-attribute] Attribute `sizeof` is not defined on `type[CStruct2GDB]`, `None` in union `Type | type[CStruct2GDB] | None`
- pwndbg/aglib/heap/ptmalloc.py:602:28 error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | Buffer | SupportsInt | SupportsIndex | SupportsTrunc`, found `Value | None | Unknown`
+ pwndbg/aglib/heap/ptmalloc.py:602:28 error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | Buffer | SupportsInt | SupportsIndex | SupportsTrunc`, found `Value | None | Unknown | int`
- pwndbg/commands/ptmalloc2.py:389:15 error[unresolved-attribute] Object of type `~AlwaysFalsy` has no attribute `value_to_human_readable`
- pwndbg/commands/ptmalloc2.py:404:68 error[unresolved-attribute] Object of type `object` has no attribute `address`
+ pwndbg/commands/ptmalloc2.py:404:68 error[unresolved-attribute] Attribute `address` is not defined on `None` in union `Value | CStruct2GDB | None`
- pwndbg/commands/ptmalloc2.py:405:11 error[unresolved-attribute] Object of type `object` has no attribute `value_to_human_readable`
+ pwndbg/commands/ptmalloc2.py:405:11 error[unresolved-attribute] Attribute `value_to_human_readable` is not defined on `None` in union `Value | CStruct2GDB | None`
- pwndbg/commands/ptmalloc2.py:1455:31 error[unresolved-attribute] Object of type `object` has no attribute `address`
+ pwndbg/commands/ptmalloc2.py:1455:31 error[unresolved-attribute] Attribute `address` is not defined on `None` in union `Value | CStruct2GDB | None`
- pwndbg/commands/ptmalloc2.py:1472:26 error[not-subscriptable] Cannot subscript object of type `object` with no `__getitem__` method
+ pwndbg/commands/ptmalloc2.py:1472:26 error[not-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method

pydantic (https://github.com/pydantic/pydantic)
- pydantic/v1/env_settings.py:223:29 error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | PathLike[str]`, found `str | PathLike[Unknown] | (list[str | PathLike[Unknown]] & PathLike[object]) | (tuple[str | PathLike[Unknown], ...] & PathLike[object])`
+ pydantic/v1/env_settings.py:223:29 error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | PathLike[str]`, found `str | PathLike[Unknown] | (list[str | PathLike[Unknown]] & PathLike[str | bytes]) | (tuple[str | PathLike[Unknown], ...] & PathLike[str | bytes])`

pytest (https://github.com/pytest-dev/pytest)
- src/_pytest/python.py:1042:34 error[invalid-argument-type] Argument to function `ascii_escaped` is incorrect: Expected `bytes | str`, found `object`

scipy (https://github.com/scipy/scipy)
+ scipy/io/_fast_matrix_market/__init__.py:544:13 error[unresolved-attribute] Attribute `tocoo` is not defined on `ndarray[tuple[Any, ...], dtype[Unknown]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(Unknown & ~Top[list[Unknown]] & ~tuple[object, ...] & ~<Protocol with members '__array__'>) | (ndarray[tuple[Any, ...], dtype[Unknown]] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`
- scipy/odr/_odrpack.py:879:32 error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `tuple[Unknown | int, Unknown | int, Unknown]`, found `tuple[Unknown | Literal[1], Unknown]`
+ scipy/odr/_odrpack.py:879:32 error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `tuple[int | Unknown, Unknown | int, Unknown]`, found `tuple[Unknown | Literal[1], Unknown]`
- subprojects/array_api_compat/array_api_compat/array_api_compat/common/_helpers.py:758:27 error[unresolved-attribute] Attribute `_meta` is not defined on `SupportsArrayNamespace[Any] & ~ndarray[tuple[object, ...], dtype[object]]` in union `(Unknown & ~ndarray[tuple[object, ...], dtype[object]]) | (SupportsArrayNamespace[Any] & ~ndarray[tuple[object, ...], dtype[object]])`
+ subprojects/array_api_compat/array_api_compat/array_api_compat/common/_helpers.py:758:27 error[unresolved-attribute] Attribute `_meta` is not defined on `ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]`, `SupportsArrayNamespace[Any] & ~ndarray[tuple[int, ...], dtype[generic[object]]]` in union `(ndarray[tuple[Any, ...], dtype[Any]] & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (Unknown & ~ndarray[tuple[int, ...], dtype[generic[object]]]) | (SupportsArrayNamespace[Any] & ~ndarray[tuple[int, ...], dtype[generic[object]]])`

scipy-stubs (https://github.com/scipy/scipy-stubs)
- tests/sparse/test_csr.pyi:150:1 error[assert-type-unspellable-subtype] Type `TypeIs[spmatrix[object] @ csr_mat]` does not match asserted type `bool`
+ tests/sparse/test_csr.pyi:150:1 error[assert-type-unspellable-subtype] Type `TypeIs[spmatrix[Top[number[Any & NBitBase, int | float | complex]] | numpy.bool[builtins.bool]] @ csr_mat]` does not match asserted type `bool`
- tests/sparse/test_spbase.pyi:26:1 error[assert-type-unspellable-subtype] Type `TypeIs[csr_matrix[object] @ csr_mat]` does not match asserted type `bool`
+ tests/sparse/test_spbase.pyi:26:1 error[assert-type-unspellable-subtype] Type `TypeIs[csr_matrix[Top[number[Any & NBitBase, int | float | complex]] | numpy.bool[builtins.bool]] @ csr_mat]` does not match asserted type `bool`

static-frame (https://github.com/static-frame/static-frame)
- static_frame/test/unit/test_index_correspondence.py:22:26 error[no-matching-overload] No overload of bound method `tolist` matches arguments
- static_frame/core/index_hierarchy.py:1747:19 error[invalid-assignment] Object of type `int | (list[int] & Top[integer[Any]])` is not assignable to `int | None`
+ static_frame/core/index_hierarchy.py:1747:19 error[invalid-assignment] Object of type `int | (list[int] & Top[integer[Unknown & NBitBase]])` is not assignable to `int | None`
- static_frame/test/unit/test_index.py:906:26 error[no-matching-overload] No overload of bound method `tolist` matches arguments
- static_frame/test/unit/test_util.py:1306:26 error[no-matching-overload] No overload of bound method `tolist` matches arguments
- static_frame/test/unit/test_util.py:1316:26 error[no-matching-overload] No overload of bound method `tolist` matches arguments
- static_frame/test/unit/test_util.py:1321:26 error[no-matching-overload] No overload of bound method `tolist` matches arguments

tornado (https://github.com/tornadoweb/tornado)
- tornado/gen.py:239:46 error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Generator[None | Awaitable[Unknown] | list[Awaitable[Unknown]] | dict[Any, Awaitable[Unknown]] | Future[Unknown], Any, Unknown]`, found `(Generator[Any, Any, _T@coroutine] & Generator[object, None, None]) | (_T@coroutine & Generator[object, None, None])`
+ tornado/gen.py:239:46 error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Generator[None | Awaitable[Unknown] | list[Awaitable[Unknown]] | dict[Any, Awaitable[Unknown]] | Future[Unknown], Any, Unknown]`, found `Generator[Any, Any, _T@coroutine] | (_T@coroutine & Generator[object, Never, object])`

urllib3 (https://github.com/urllib3/urllib3)
- src/urllib3/response.py:448:16 error[invalid-return-type] Return type does not match returned value: expected `bytes`, found `bytes | memoryview[bytes]`

vision (https://github.com/pytorch/vision)
- torchvision/transforms/functional.py:152:19 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]] | tuple[ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]], ...], /) -> ndarray[tuple[Any, ...], dtype[object]], (key: SupportsIndex | tuple[SupportsIndex, ...], /) -> Any, (key: SupportsIndex | slice[Any, Any, Any] | EllipsisType | ... omitted 5 union elements, /) -> ndarray[tuple[Any, ...], dtype[object]], (key: str, /) -> ndarray[tuple[object, ...], dtype[Any]], (key: list[str], /) -> ndarray[tuple[object, ...], Unknown]]` cannot be called with key of type `tuple[slice[None, None, None], slice[None, None, None], None]` on object of type `ndarray[tuple[object, ...], dtype[object]]`
+ torchvision/transforms/functional.py:172:20 error[not-subscriptable] Cannot subscript object of type `int` with no `__getitem__` method

websockets (https://github.com/aaugustin/websockets)
+ src/websockets/sync/connection.py:488:47 error[invalid-argument-type] Argument to bound method `send_binary` is incorrect: Expected `bytes | bytearray | memoryview[int]`, found `bytes | bytearray | (Iterable[str | bytes | bytearray | memoryview[int]] & Top[memoryview[Unknown]]) | memoryview[int]`
+ src/websockets/asyncio/connection.py:487:45 error[invalid-argument-type] Argument to bound method `send_text` is incorrect: Expected `bytes | bytearray | memoryview[int]`, found `bytes | bytearray | (Iterable[str | bytes | bytearray | memoryview[int]] & Top[memoryview[Unknown]]) | memoryview[int]`
+ src/websockets/asyncio/connection.py:489:47 error[invalid-argument-type] Argument to bound method `send_binary` is incorrect: Expected `bytes | bytearray | memoryview[int]`, found `bytes | bytearray | (Iterable[str | bytes | bytearray | memoryview[int]] & Top[memoryview[Unknown]]) | memoryview[int]`
+ src/websockets/legacy/protocol.py:629:41 error[invalid-argument-type] Argument to function `prepare_data` is incorrect: Expected `str | bytes | bytearray | memoryview[int]`, found `str | bytes | bytearray | (Iterable[str | bytes | bytearray | memoryview[int]] & Top[memoryview[Unknown]]) | memoryview[int]`

xarray (https://github.com/pydata/xarray)
+ xarray/backends/api.py:1706:49 error[invalid-argument-type] Argument to bound method `index` is incorrect: Expected `str | ReadBuffer[Unknown]`, found `str | (PathLike[Unknown] & ~PathLike[str | bytes])`
+ xarray/backends/common.py:92:12 error[invalid-return-type] Return type does not match returned value: expected `str | T@_normalize_path`, found `(PathLike[Unknown] & ~PathLike[str | bytes]) | str | (T@_normalize_path & ~PathLike[str | bytes]) | Unknown`
+ xarray/backends/common.py:201:33 error[invalid-argument-type] Argument to function `_normalize_path_list` is incorrect: Expected `NestedSequence[str | PathLike[Unknown] | ReadBuffer[Unknown]]`, found `(PathLike[Unknown] & ~str & ~PathLike[str | bytes] & ~ReadBuffer[str | bytes]) | (ReadBuffer[Unknown] & ~str & ~PathLike[str | bytes] & ~ReadBuffer[str | bytes]) | (NestedSequence[str | PathLike[Unknown] | ReadBuffer[Unknown]] & ~str & ~PathLike[str | bytes] & ~ReadBuffer[str | bytes])`
- xarray/backends/scipy_.py:375:35 error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | PathLike[str]`, found `str | (ReadBuffer[Unknown] & PathLike[object]) | (AbstractDataStore & PathLike[object])`
+ xarray/backends/scipy_.py:375:35 error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | PathLike[str]`, found `str | (ReadBuffer[Unknown] & PathLike[str | bytes]) | (AbstractDataStore & PathLike[str | bytes])`
- xarray/core/indexes.py:1002:29 error[unresolved-attribute] Object of type `Index[Any] & Top[CategoricalIndex[Any]]` has no attribute `remove_unused_categories`
+ xarray/core/indexes.py:1002:29 error[unresolved-attribute] Object of type `Index[Any] & Top[CategoricalIndex[(Unknown & str) | (Unknown & bytes) | (Unknown & int) | ... omitted 12 union elements]]` has no attribute `remove_unused_categories`
- xarray/core/indexing.py:406:19 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]] | tuple[ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]], ...], /) -> ndarray[tuple[Any, ...], dtype[object]], (key: SupportsIndex | tuple[SupportsIndex, ...], /) -> Any, (key: SupportsIndex | slice[Any, Any, Any] | EllipsisType | ... omitted 5 union elements, /) -> ndarray[tuple[Any, ...], dtype[object]], (key: str, /) -> ndarray[tuple[object, ...], dtype[Any]], (key: list[str], /) -> ndarray[tuple[object, ...], Unknown]]` cannot be called with key of type `ndarray[Any, dtype[integer[Any]]]` on object of type `ndarray[tuple[object, ...], dtype[object]]`
- xarray/core/indexing.py:406:19 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]] | tuple[ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]], ...], /) -> ndarray[tuple[Any, ...], dtype[object]], (key: SupportsIndex | tuple[SupportsIndex, ...], /) -> Any, (key: SupportsIndex | slice[Any, Any, Any] | EllipsisType | ... omitted 5 union elements, /) -> ndarray[tuple[Any, ...], dtype[object]], (key: str, /) -> ndarray[tuple[object, ...], dtype[Any]], (key: list[str], /) -> ndarray[tuple[object, ...], Unknown]]` cannot be called with key of type `slice[Any, Any, Any]` on object of type `ndarray[tuple[object, ...], dtype[object]]`
- xarray/core/indexing.py:406:19 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]] | tuple[ndarray[tuple[Any, ...], dtype[integer[Any] | numpy.bool[builtins.bool]]], ...], /) -> ndarray[tuple[Any, ...], dtype[object]], (key: SupportsIndex | tuple[SupportsIndex, ...], /) -> Any, (key: SupportsIndex | slice[Any, Any, Any] | EllipsisType | ... omitted 5 union elements, /) -> ndarray[tuple[Any, ...], dtype[object]], (key: str, /) -> ndarray[tuple[object, ...], dtype[Any]], (key: list[str], /) -> ndarray[tuple[object, ...], Unknown]]` cannot be called with key of type `slice[Any, Any, Any]` on object of type `ndarray[tuple[object, ...], dtype[object]]`
- xarray/core/utils.py:257:34 error[invalid-argument-type] Argument to function `list_equiv` is incorrect: Expected `Sequence[Unknown]`, found `T@equivalent & ~ndarray[tuple[object, ...], dtype[object]]`
+ xarray/core/utils.py:257:34 error[invalid-argument-type] Argument to function `list_equiv` is incorrect: Expected `Sequence[Unknown]`, found `T@equivalent & ~ndarray[tuple[int, ...], dtype[generic[object]]]`
- xarray/core/variable.py:698:66 error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `(Unknown & Variable & ~Top[integer[Any]]) | _arrayfunction[Any, Any] | _arrayapi[Any, Any] | ndarray[tuple[Any, ...], dtype[Unknown]]`
+ xarray/core/variable.py:698:66 error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `(Unknown & Variable & ~Top[integer[Unknown & NBitBase]]) | _arrayfunction[Any, Any] | _arrayapi[Any, Any] | ndarray[tuple[Any, ...], dtype[Unknown]]`
- xarray/core/variable.py:700:55 error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `(Unknown & Variable & ~Top[integer[Any]]) | _arrayfunction[Any, Any] | _arrayapi[Any, Any] | ndarray[tuple[Any, ...], dtype[Unknown]]`
+ xarray/core/variable.py:700:55 error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `(Unknown & Variable & ~Top[integer[Unknown & NBitBase]]) | _arrayfunction[Any, Any] | _arrayapi[Any, Any] | ndarray[tuple[Any, ...], dtype[Unknown]]`
- xarray/core/variable.py:703:24 error[unresolved-attribute] Attribute `ndim` is not defined on `_arrayfunction[Any, Any]`, `_arrayapi[Any, Any]` in union `(Unknown & Variable & ~Top[integer[Any]]) | _arrayfunction[Any, Any] | _arrayapi[Any, Any] | ndarray[tuple[Any, ...], dtype[Unknown]]`
+ xarray/core/variable.py:703:24 error[unresolved-attribute] Attribute `ndim` is not defined on `_arrayfunction[Any, Any]`, `_arrayapi[Any, Any]` in union `(Unknown & Variable & ~Top[integer[Unknown & NBitBase]]) | _arrayfunction[Any, Any] | _arrayapi[Any, Any] | ndarray[tuple[Any, ...], dtype[Unknown]]`
- xarray/indexes/nd_point_index.py:302:38 error[invalid-argument-type] Argument to bound method `equals` is incorrect: Argument type `object` does not satisfy upper bound `TreeAdapter` of type variable `Self`
- xarray/indexes/nd_point_index.py:302:38 error[invalid-argument-type] Argument to bound method `equals` is incorrect: Expected `T_TreeAdapter@NDPointIndex`, found `object`
- xarray/namedarray/_array_api.py:75:24 error[unresolved-attribute] Object of type `_arrayfunction[Any, Any] & ~_arrayapi[object, object]` has no attribute `astype`
+ xarray/namedarray/_array_api.py:75:24 error[unresolved-attribute] Object of type `(_arrayfunction[Any, Any] & ~_arrayapi[object, dtype[generic[object]]]) | (_arrayapi[Any, Any] & ~_arrayapi[object, dtype[generic[object]]])` has no attribute `astype`
- xarray/namedarray/core.py:1000:54 error[invalid-argument-type] Argument to bound method `todense` is incorrect: Argument type `_sparsearrayfunction[object, object]` does not satisfy upper bound `_sparsearrayfunction[_ShapeType_co@_sparsearrayfunction, _DType_co@_sparsearrayfunction]` of type variable `Self`
- xarray/tests/test_namedarray.py:81:41 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: _arrayfunction[Any, Any] | tuple[_arrayfunction[Any, Any], ...], /) -> _arrayfunction[Any, _DType_co@CustomArrayIndexable], (key: int | slice[Any, Any, Any] | EllipsisType | tuple[int | slice[Any, Any, Any] | EllipsisType, ...], /) -> Any]` cannot be called with key of type `_arrayapi[Any, object]` on object of type `_arrayfunction[Any, _DType_co@CustomArrayIndexable]`
+ xarray/tests/test_namedarray.py:81:41 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: _arrayfunction[Any, Any] | tuple[_arrayfunction[Any, Any], ...], /) -> _arrayfunction[Any, _DType_co@CustomArrayIndexable], (key: int | slice[Any, Any, Any] | EllipsisType | tuple[int | slice[Any, Any, Any] | EllipsisType, ...], /) -> Any]` cannot be called with key of type `_arrayapi[Any, dtype[generic[object]]]` on object of type `_arrayfunction[Any, _DType_co@CustomArrayIndexable]`

Full report with detailed diff (timing results)

@AlexWaygood AlexWaygood force-pushed the alex/fix-top-materialize branch from cbb1fca to 2d7e242 Compare March 18, 2026 12:10
@AlexWaygood
Copy link
Member Author

AlexWaygood commented Mar 18, 2026

The fact that 426 type-assertion-failure diagnostics are currently going away (nearly all on pandas-stubs) looks like it's probably a good thing... but it's not actually a good thing, at all. The reason why the diagnostics are going away is that we are now inferring large regions of code as being unreachable, which causes us to infer the assert_type function itself as having type Never in those regions, which then means we no longer emit the diagnostics (cc. @sharkdp / @carljm -- this is similar to the case I brought up in #23849 (comment)). Here's a repro of the kind of thing that's going on in pandas-stubs on this PR:

from typing import Never, assert_type

def newly_inferred_as_returning_never() -> Never:
    raise TypeError

def test_complex_pandas_typing():
    # This call is inferred as returning `Never`,
    # because the signature of `assert_type` is
    # `def assert_type[T](x: T, other: Any) -> T: ...`
    assert_type(newly_inferred_as_returning_never(), int)  # type-assertion-failure

    # the following region is now inferred as unreachable
    # due to the `IsNonTerminalCall(Truthiness::AlwaysFalse)`
    # control-flow constraint on the `assert_type` call above,
    # so no diagnostics are emitted on these obviously incorrect assertions
    # because the `assert_type` symbol is itself now inferred
    # as being of type `Never`
    assert_type("foo", int)
    assert_type("bar", int)
    assert_type("baz", int)
    assert_type("spam", int)

(I'm not yet sure why we're inferring more things as Never on this PR branch, and intend to follow up on that, but suppressing assert_type diagnostics in unreachable code like this seems like undesirable behaviour from us regardless.)

@AlexWaygood AlexWaygood force-pushed the alex/fix-top-materialize branch 4 times, most recently from efc5d47 to 97dfe7b Compare March 19, 2026 13:48
@codspeed-hq
Copy link

codspeed-hq bot commented Mar 19, 2026

Merging this PR will degrade performance by 4.39%

❌ 1 regressed benchmark
✅ 20 untouched benchmarks
⏩ 36 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime freqtrade 8.1 s 8.5 s -4.39%

Comparing alex/fix-top-materialize (cf7843f) with main (fcef46c)

Open in CodSpeed

Footnotes

  1. 36 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.

@AlexWaygood
Copy link
Member Author

AlexWaygood commented Mar 23, 2026

Here is (finally...) a minimal repro of what seems to be going on with pandas-stubs in the ecosystem report:

from typing import Any, Never, overload

class Foo: ...

class Bar[T: Any]:
    def get1(self) -> T: ...

@overload
def foo(obj: Bar[Foo]) -> Never: ...
@overload
def foo(obj) -> Foo: ...

def test(obj: Bar):
    # `Unknown` on `main`, `Never` on this PR
    reveal_type(foo(obj))

@AlexWaygood AlexWaygood force-pushed the alex/fix-top-materialize branch from 0617b29 to 463fd99 Compare March 24, 2026 13:26
@AlexWaygood AlexWaygood force-pushed the alex/fix-top-materialize branch from 463fd99 to cf7843f Compare March 24, 2026 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant