Skip to content

[ty] Use existential quantification to only consider inferable typevars#24383

Merged
dcreager merged 11 commits intomainfrom
dcreager/quantify-solutions
Apr 21, 2026
Merged

[ty] Use existential quantification to only consider inferable typevars#24383
dcreager merged 11 commits intomainfrom
dcreager/quantify-solutions

Conversation

@dcreager
Copy link
Copy Markdown
Member

@dcreager dcreager commented Apr 3, 2026

The ConstraintSet::solutions method returns a (set of) solutions for a constraint set — assignments of specific types to each typevar in question. #23848 introduced two variants of this method. One of them (solutions_with_inferable) would take in the set of inferable typevars. This was used in a cycle check at the beginning of the method, to make sure that we only considered the typevars we're actually solving for when detecting a cyclic constraint set. More importantly, it was also used to limit the result, so that we would only get solutions for ther inferable typevars (i.e., the ones that we're using the constraint set to solve for).

A cleaner approach is to use extensional quantification to remove the non-inferable typevars from the constraint set before calculating solutions. We already had this available as a lower-level TDD method (abstract_one_inner), which lets us provide an arbitrary should_remove callback to determine which constraints to keep and which to remove. We just need to add a new public API method that provides a should_remove callback that keeps only the constraints involving inferable typevars.

Given this change we can actually remove the cyclic checks completely, since SequentMap and PathAssignments will already bottom out if they encounter a cycle in the constraints. (Specifically, while we're walking TDD paths, PathAssignments will only add constraints that aren't already present in the current path.)

@dcreager dcreager added internal An internal refactor or improvement ty Multi-file analysis & type inference labels Apr 3, 2026
@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot Bot commented Apr 3, 2026

Typing conformance results

No changes detected ✅

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

@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot Bot commented Apr 3, 2026

Memory usage report

Summary

Project Old New Diff Outcome
flake8 47.68MB 47.68MB -0.00% (1.95kB) ⬇️
sphinx 258.61MB 258.60MB -0.00% (5.40kB) ⬇️
trio 116.48MB 116.46MB -0.02% (25.54kB) ⬇️
prefect 702.78MB 702.71MB -0.01% (77.26kB) ⬇️

Significant changes

Click to expand detailed breakdown

flake8

Name Old New Diff Outcome
FunctionType 438.47kB 437.97kB -0.11% (512.00B) ⬇️
CallableType 169.10kB 168.82kB -0.17% (288.00B) ⬇️
FunctionType<'db>::signature_ 360.69kB 360.42kB -0.07% (272.00B) ⬇️
cached_protocol_interface 44.55kB 44.33kB -0.50% (228.00B) ⬇️
StaticClassLiteral<'db>::try_mro_ 306.18kB 305.97kB -0.07% (212.00B) ⬇️
ProtocolInterface 23.96kB 23.84kB -0.54% (132.00B) ⬇️
Type<'db>::apply_specialization_ 208.91kB 208.81kB -0.05% (104.00B) ⬇️
Type<'db>::apply_specialization_::interned_arguments 199.45kB 199.38kB -0.04% (80.00B) ⬇️
StaticClassLiteral<'db>::try_mro_::interned_arguments 69.89kB 69.82kB -0.10% (72.00B) ⬇️
infer_definition_types 1.86MB 1.86MB -0.00% (72.00B) ⬇️
infer_expression_types_impl 1.03MB 1.03MB -0.00% (24.00B) ⬇️

sphinx

Name Old New Diff Outcome
check_file_impl 4.69MB 4.69MB +0.07% (3.23kB) ⬇️
FunctionType 3.11MB 3.11MB -0.07% (2.08kB) ⬇️
infer_expression_types_impl 20.61MB 20.61MB -0.01% (1.90kB) ⬇️
is_redundant_with_impl 929.56kB 930.76kB +0.13% (1.20kB) ⬇️
FunctionType<'db>::signature_ 2.27MB 2.27MB -0.05% (1.12kB) ⬇️
cached_protocol_interface 187.64kB 186.62kB -0.54% (1.02kB) ⬇️
CallableType 1.12MB 1.12MB -0.09% (1008.00B) ⬇️
StaticClassLiteral<'db>::try_mro_ 1.91MB 1.91MB -0.05% (960.00B) ⬇️
GenericAlias<'db>::variance_of_ 16.97kB 16.12kB -4.97% (864.00B) ⬇️
GenericAlias<'db>::variance_of_::interned_arguments 14.06kB 13.43kB -4.50% (648.00B) ⬇️
is_redundant_with_impl::interned_arguments 1.07MB 1.08MB +0.05% (616.00B) ⬇️
ProtocolInterface 109.75kB 109.18kB -0.52% (580.00B) ⬇️
Specialization 1003.30kB 1003.84kB +0.05% (560.00B) ⬇️
StaticClassLiteral<'db>::variance_of_ 23.29kB 22.96kB -1.41% (336.00B) ⬇️
StaticClassLiteral<'db>::try_mro_::interned_arguments 445.08kB 444.80kB -0.06% (288.00B) ⬇️
... 12 more

trio

Name Old New Diff Outcome
FunctionType 1.49MB 1.48MB -0.27% (4.09kB) ⬇️
cached_protocol_interface 125.80kB 121.90kB -3.10% (3.90kB) ⬇️
Type<'db>::apply_specialization_ 707.42kB 704.68kB -0.39% (2.75kB) ⬇️
StaticClassLiteral<'db>::try_mro_ 792.68kB 790.26kB -0.31% (2.42kB) ⬇️
CallableType 578.48kB 576.09kB -0.41% (2.39kB) ⬇️
FunctionType<'db>::signature_ 1.06MB 1.06MB -0.20% (2.22kB) ⬇️
ProtocolInterface 70.88kB 68.88kB -2.82% (2.00kB) ⬇️
Type<'db>::apply_specialization_::interned_arguments 626.33kB 624.53kB -0.29% (1.80kB) ⬇️
infer_definition_types 7.56MB 7.55MB -0.02% (1.50kB) ⬇️
StaticClassLiteral<'db>::try_mro_::interned_arguments 185.98kB 185.34kB -0.34% (648.00B) ⬇️
Specialization 456.27kB 455.88kB -0.09% (400.00B) ⬇️
infer_deferred_types 2.34MB 2.34MB -0.01% (252.00B) ⬇️
function_known_decorators 920.68kB 920.43kB -0.03% (252.00B) ⬇️
GenericAlias 187.59kB 187.38kB -0.11% (216.00B) ⬇️
infer_scope_types_impl 4.71MB 4.71MB -0.00% (192.00B) ⬇️
... 7 more

prefect

Name Old New Diff Outcome
FunctionType 8.94MB 8.93MB -0.11% (10.27kB) ⬇️
cached_protocol_interface 420.53kB 410.30kB -2.43% (10.23kB) ⬇️
Type<'db>::apply_specialization_ 3.69MB 3.68MB -0.18% (6.90kB) ⬇️
infer_expression_types_impl 62.73MB 62.72MB -0.01% (6.63kB) ⬇️
CallableType 2.15MB 2.15MB -0.29% (6.40kB) ⬇️
FunctionType<'db>::signature_ 4.10MB 4.10MB -0.15% (6.24kB) ⬇️
StaticClassLiteral<'db>::try_mro_ 4.25MB 4.24MB -0.14% (6.11kB) ⬇️
infer_definition_types 89.93MB 89.93MB -0.01% (5.67kB) ⬇️
ProtocolInterface 233.18kB 227.88kB -2.27% (5.30kB) ⬇️
Type<'db>::apply_specialization_::interned_arguments 2.96MB 2.95MB -0.12% (3.75kB) ⬇️
infer_expression_type_impl 13.40MB 13.40MB -0.02% (2.48kB) ⬇️
StaticClassLiteral<'db>::try_mro_::interned_arguments 1.05MB 1.04MB -0.15% (1.62kB) ⬇️
StaticClassLiteral<'db>::implicit_attribute_inner_ 10.06MB 10.06MB -0.01% (1.34kB) ⬇️
infer_scope_types_impl 54.65MB 54.65MB -0.00% (1.08kB) ⬇️
Specialization 2.11MB 2.11MB +0.04% (976.00B) ⬇️
... 16 more

@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot Bot commented Apr 3, 2026

ecosystem-analyzer results

Lint rule Added Removed Changed
type-assertion-failure 24 25 24
invalid-argument-type 62 2 3
invalid-await 1 40 0
unsupported-operator 20 0 0
invalid-return-type 6 2 3
no-matching-overload 9 1 0
unresolved-attribute 6 0 2
invalid-assignment 0 3 3
missing-argument 1 0 0
unknown-argument 1 0 0
Total 130 73 35
Raw diff (238 changes)
cloud-init (https://github.com/canonical/cloud-init)
+ cloudinit/analyze/__init__.py:226:21 error[no-matching-overload] No overload of bound method `str.join` matches arguments

core (https://github.com/home-assistant/core)
- homeassistant/components/litterrobot/select.py:164:9 error[invalid-assignment] Object of type `list[_S@map]` is not assignable to attribute `_attr_options` of type `list[str]`
- homeassistant/components/litterrobot/select.py:164:44 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `Iterable[Buffer]`, found `list[_CastTypeT@LitterRobotSelectEntity]`

discord.py (https://github.com/Rapptz/discord.py)
- discord/app_commands/checks.py:390:42 error[invalid-assignment] Object of type `Cooldown | None | Coroutine[Any, Any, Cooldown | None]` is not assignable to `Cooldown | None`
+ discord/app_commands/checks.py:390:42 error[invalid-assignment] Object of type `Cooldown | Coroutine[Any, Any, Cooldown | None] | None` is not assignable to `Cooldown | None`

ibis (https://github.com/ibis-project/ibis)
- ibis/backends/__init__.py:1102:23 error[invalid-argument-type] Argument to function `sorted` is incorrect: Expected `Iterable[str]`, found `filter[_T@filter]`
+ ibis/backends/__init__.py:1102:16 error[invalid-return-type] Return type does not match returned value: expected `list[str]`, found `list[_T@filter]`
+ ibis/expr/schema.py:36:17 error[unsupported-operator] Operator `+` is not supported between objects of type `Literal[2]` and `_S@map | Literal[0]`

materialize (https://github.com/MaterializeInc/materialize)
- misc/python/materialize/feature_benchmark/report.py:39:13 error[invalid-assignment] Object of type `int | float` is not assignable to attribute `mean` of type `T@ReportMeasurement | None`

operator (https://github.com/canonical/operator)
- ops/lib/__init__.py:197:40 error[invalid-argument-type] Argument to function `sorted` is incorrect: Expected `Iterable[str]`, found `set[_T@set]`
+ ops/lib/__init__.py:197:33 error[invalid-argument-type] Argument to function `_join_and` is incorrect: Expected `list[str]`, found `list[_T@set]`

pandas-stubs (https://github.com/pandas-dev/pandas-stubs)
- tests/indexes/bool/test_mul.py:39:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[bool]`
+ tests/indexes/bool/test_mul.py:39:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[bool]`
+ tests/indexes/bool/test_mul.py:39:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Index[bool]` and `Literal[True]`
- tests/indexes/bool/test_mul.py:40:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
+ tests/indexes/bool/test_mul.py:40:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[int]`
+ tests/indexes/bool/test_mul.py:40:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Index[bool]` and `Literal[1]`
- tests/indexes/bool/test_mul.py:47:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[bool]`
+ tests/indexes/bool/test_mul.py:47:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[bool]`
+ tests/indexes/bool/test_mul.py:47:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[True]` and `Index[bool]`
- tests/indexes/bool/test_mul.py:48:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
+ tests/indexes/bool/test_mul.py:48:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[int]`
+ tests/indexes/bool/test_mul.py:48:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[1]` and `Index[bool]`
- tests/indexes/bool/test_mul.py:62:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[bool]`
+ tests/indexes/bool/test_mul.py:62:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[bool]`
+ tests/indexes/bool/test_mul.py:62:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Index[bool]` and `list[bool]`
- tests/indexes/bool/test_mul.py:63:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
+ tests/indexes/bool/test_mul.py:63:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[int]`
+ tests/indexes/bool/test_mul.py:63:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Index[bool]` and `list[int]`
- tests/indexes/bool/test_mul.py:70:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[bool]`
+ tests/indexes/bool/test_mul.py:70:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[bool]`
+ tests/indexes/bool/test_mul.py:70:23 error[unsupported-operator] Operator `*` is not supported between objects of type `list[bool]` and `Index[bool]`
- tests/indexes/bool/test_mul.py:71:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
+ tests/indexes/bool/test_mul.py:71:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[int]`
+ tests/indexes/bool/test_mul.py:71:23 error[unsupported-operator] Operator `*` is not supported between objects of type `list[int]` and `Index[bool]`
- tests/indexes/int/test_mul.py:40:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
- tests/indexes/int/test_mul.py:41:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
- tests/indexes/int/test_mul.py:48:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
- tests/indexes/int/test_mul.py:49:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
- tests/indexes/int/test_mul.py:63:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
- tests/indexes/int/test_mul.py:64:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
- tests/indexes/int/test_mul.py:71:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
- tests/indexes/int/test_mul.py:72:11 error[type-assertion-failure] Type `Index[Unknown]` does not match asserted type `Index[int]`
+ tests/indexes/test_mul.py:28:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[Any]`
+ tests/indexes/test_mul.py:29:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[Any]`
+ tests/indexes/test_mul.py:33:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[Any]`
+ tests/indexes/test_mul.py:34:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[Any]`
+ tests/indexes/test_mul.py:43:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[Any]`
+ tests/indexes/test_mul.py:44:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[Any]`
+ tests/indexes/test_mul.py:48:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[Any]`
+ tests/indexes/test_mul.py:49:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Index[Any]`
- tests/series/bool/test_mul.py:40:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:40:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:40:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Series[bool]` and `Literal[True]`
- tests/series/bool/test_mul.py:41:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:41:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:41:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Series[bool]` and `Literal[1]`
- tests/series/bool/test_mul.py:48:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:48:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:48:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[True]` and `Series[bool]`
- tests/series/bool/test_mul.py:49:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:49:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:49:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[1]` and `Series[bool]`
- tests/series/bool/test_mul.py:56:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:56:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:56:23 error[no-matching-overload] No overload of bound method `Series.mul` matches arguments
- tests/series/bool/test_mul.py:57:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:57:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:57:23 error[no-matching-overload] No overload of bound method `Series.mul` matches arguments
- tests/series/bool/test_mul.py:64:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:64:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:64:23 error[no-matching-overload] No overload of bound method `Series.rmul` matches arguments
- tests/series/bool/test_mul.py:65:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:65:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:65:23 error[no-matching-overload] No overload of bound method `Series.rmul` matches arguments
- tests/series/bool/test_mul.py:81:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:81:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:81:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Series[bool]` and `list[bool]`
- tests/series/bool/test_mul.py:82:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:82:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:82:23 error[unsupported-operator] Operator `*` is not supported between objects of type `Series[bool]` and `list[int]`
- tests/series/bool/test_mul.py:89:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:89:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:89:23 error[unsupported-operator] Operator `*` is not supported between objects of type `list[bool]` and `Series[bool]`
- tests/series/bool/test_mul.py:90:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:90:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:90:23 error[unsupported-operator] Operator `*` is not supported between objects of type `list[int]` and `Series[bool]`
- tests/series/bool/test_mul.py:97:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:97:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:97:23 error[no-matching-overload] No overload of bound method `Series.mul` matches arguments
- tests/series/bool/test_mul.py:98:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:98:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:98:23 error[no-matching-overload] No overload of bound method `Series.mul` matches arguments
- tests/series/bool/test_mul.py:105:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:105:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[bool]`
+ tests/series/bool/test_mul.py:105:23 error[no-matching-overload] No overload of bound method `Series.rmul` matches arguments
- tests/series/bool/test_mul.py:106:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:106:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[int]`
+ tests/series/bool/test_mul.py:106:23 error[no-matching-overload] No overload of bound method `Series.rmul` matches arguments
- tests/series/int/test_mul.py:40:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:41:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:48:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:49:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:56:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:57:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:64:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:65:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:81:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:82:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:89:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:90:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:97:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:98:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:105:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
- tests/series/int/test_mul.py:106:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`
+ tests/series/test_mul.py:28:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:29:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:33:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:34:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:38:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:39:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:43:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:44:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:53:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:54:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:58:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:59:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:63:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:64:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:68:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
+ tests/series/test_mul.py:69:11 error[type-assertion-failure] Type `Unknown` does not match asserted type `Series[Any]`
- tests/series/test_series.py:855:11 error[type-assertion-failure] Type `Series[Unknown]` does not match asserted type `Series[int]`

prefect (https://github.com/PrefectHQ/prefect)
- 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: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_containers.py:27:47 error[invalid-argument-type] Argument is incorrect: Expected `bool | None`, found `str | bool | dict[str, 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[str, 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[str, 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[str, 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[str, int] | None`
+ src/integrations/prefect-docker/tests/test_containers.py:27:47 error[invalid-argument-type] Argument is incorrect: Expected `str`, found `str | bool | dict[str, 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: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_images.py:28:27 error[invalid-await] `object` is not awaitable
- 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:63:28 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 `bool`, 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: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 `DockerRegistryCredentials | 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 `dict[str, Any]`, 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 `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 `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 `bool`, 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: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`, found `str | bool`
- src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:425:33 error[invalid-await] `object` is not awaitable
+ 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/tests/test_custom_objects.py:16:15 error[invalid-await] `object` is not awaitable
- 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: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: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_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: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: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:344: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:34:11 error[invalid-await] `object` is not awaitable
- 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:88:11 error[invalid-await] `object` is not awaitable
- 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:137: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:38:9 error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ 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:92:9 error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ 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:141: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:50:11 error[invalid-await] `object` is not awaitable
- 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:84:11 error[invalid-await] `object` is not awaitable
- 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:127:11 error[invalid-await] `object` is not awaitable
- src/integrations/prefect-kubernetes/tests/test_jobs.py:156: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:52:9 error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ 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:87:9 error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ 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:131:9 error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ 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_pods.py:27:11 error[invalid-await] `object` is not awaitable
- 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:76:11 error[invalid-await] `object` is not awaitable
- 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:112:11 error[invalid-await] `object` is not awaitable
- 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:163: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:46:9 error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ 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:96:9 error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ 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:137:9 error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Literal["test"]`
+ 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/prefect/cache_policies.py:311:25 error[unresolved-attribute] Object of type `((...) -> Any) & ((*args: object, **kwargs: object) -> object)` has no attribute `__code__`
+ src/prefect/cache_policies.py:311:25 error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__code__`
+ src/prefect/task_engine.py:1642:28 error[invalid-await] `R@AsyncTaskRunEngine | Coroutine[Any, Any, R@AsyncTaskRunEngine]` is not awaitable
- src/prefect/tasks.py:2250:16 error[invalid-return-type] Return type does not match returned value: expected `MaterializingTask[P@MaterializingTask, R@MaterializingTask]`, found `MaterializingTask[(*args: object, **kwargs: object), object]`
- src/prefect/tasks.py:185:9 error[unresolved-attribute] Object of type `((...) -> Any) & ((*args: object, **kwargs: object) -> object)` has no attribute `__code__`
+ src/prefect/tasks.py:185:9 error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__code__`
- src/prefect/tasks.py:663:13 error[invalid-assignment] Object of type `Any & ~AlwaysFalsy` is not assignable to attribute `__prefect_self__` on type `((**P@Task) -> R@Task) & ((*args: object, **kwargs: object) -> object)`
+ src/prefect/tasks.py:663:13 error[unresolved-attribute] Unresolved attribute `__prefect_self__` on type `(**P@Task) -> R@Task`
- src/prefect/tasks.py:799:13 error[invalid-argument-type] Argument to `Task.__init__` is incorrect: Expected `(() -> str) | TaskRunNameCallbackWithParameters | str | None`, found `((() -> str) & ~<class 'NotSet'>) | TaskRunNameCallbackWithParameters | str | ... omitted 3 union elements`
+ src/prefect/tasks.py:799:13 error[invalid-argument-type] Argument to `Task.__init__` is incorrect: Expected `(() -> str) | TaskRunNameCallbackWithParameters | str | None`, found `(() -> str) | TaskRunNameCallbackWithParameters | str | (type[NotSet] & ~<class 'NotSet'>) | None`
- src/prefect/tasks.py:1213:16 error[no-matching-overload] No overload of function `run_task` matches arguments
+ src/prefect/tasks.py:1213:16 error[invalid-return-type] Return type does not match returned value: expected `T@__call__ | State[T@__call__] | None`, found `State[T@__call__] | T@__call__ | State[Never]`
- 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:64:13 error[invalid-argument-type] Argument to bound method `TaskRunNameCallbackWithParameters.is_callback_with_parameters` is incorrect: Expected `(...) -> str`, found `(str & Top[(...) -> object]) | ((() -> str) & ((*args: object, **kwargs: object) -> object)) | (TaskRunNameCallbackWithParameters & ((*args: object, **kwargs: object) -> object))`
+ src/prefect/utilities/_engine.py:64:13 error[invalid-argument-type] Argument to bound method `TaskRunNameCallbackWithParameters.is_callback_with_parameters` is incorrect: Expected `(...) -> str`, found `(str & Top[(...) -> object]) | (() -> str) | TaskRunNameCallbackWithParameters`
+ 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 `TaskRunNameCallbackWithParameters.__call__`
+ src/prefect/utilities/templating/__init__.py:337:17 error[invalid-argument-type] Argument is incorrect: Argument type `object` does not satisfy constraints (`str`, `int`, `int | float`, `bool`, `dict[Any, Any]`, `list[Any]`, `None`) of type variable `T`
+ src/prefect/utilities/templating/__init__.py:344:17 error[invalid-argument-type] Argument is incorrect: Argument type `object` does not satisfy constraints (`str`, `int`, `int | float`, `bool`, `dict[Any, Any]`, `list[Any]`, `None`) of type variable `T`
+ src/prefect/utilities/templating/__init__.py:462:42 error[invalid-argument-type] Argument is incorrect: Argument type `object` does not satisfy constraints (`str`, `int`, `int | float`, `bool`, `dict[Any, Any]`, `list[Any]`, `None`) of type variable `T`
- src/prefect/utilities/templating/__init__.py:339:13 error[invalid-assignment] Invalid subscript assignment with key of type `object` and value of type `Unknown` on object of type `dict[str, Any]`
+ src/prefect/utilities/templating/__init__.py:339:13 error[invalid-assignment] Invalid subscript assignment with key of type `object` and value of type `Unknown | dict[str, Any]` on object of type `dict[str, Any]`
- src/prefect/utilities/templating/__init__.py:342:16 error[invalid-return-type] Return type does not match returned value: expected `T@resolve_block_document_references | dict[str, Any]`, found `list[Unknown]`
+ src/prefect/utilities/templating/__init__.py:342:16 error[invalid-return-type] Return type does not match returned value: expected `T@resolve_block_document_references | dict[str, Any]`, found `list[Unknown | dict[str, Any]]`
+ src/prefect/utilities/templating/__init__.py:466:41 error[invalid-argument-type] Argument is incorrect: Argument type `object` does not satisfy constraints (`str`, `int`, `int | float`, `bool`, `dict[Any, Any]`, `list[Any]`, `None`) of type variable `T`
+ src/prefect/workers/base.py:243:13 error[invalid-argument-type] Argument is incorrect: Argument type `str | dict[str, Any]` does not satisfy constraints (`str`, `int`, `int | float`, `bool`, `dict[Any, Any]`, `list[Any]`, `None`) of type variable `T`

pytest (https://github.com/pytest-dev/pytest)
+ src/_pytest/_py/path.py:318:20 error[invalid-return-type] Return type does not match returned value: expected `str`, found `AnyStr@readlink`

scipy (https://github.com/scipy/scipy)
+ scipy/_lib/_util.py:1022:13 error[unsupported-operator] Operator `+` is not supported between objects of type `_S@map` and `Unknown | Literal[1]`

sphinx (https://github.com/sphinx-doc/sphinx)
+ sphinx/ext/viewcode.py:370:12 error[unresolved-attribute] Object of type `_T@set` has no attribute `startswith`
+ sphinx/ext/viewcode.py:371:26 error[unsupported-operator] Operator `+` is not supported between objects of type `_T@set` and `Literal["."]`
+ sphinx/ext/viewcode.py:375:23 error[unresolved-attribute] Object of type `_T@set` has no attribute `startswith`
+ sphinx/ext/viewcode.py:378:26 error[unsupported-operator] Operator `+` is not supported between objects of type `_T@set` and `Literal["."]`
+ sphinx/ext/viewcode.py:381:44 error[unresolved-attribute] Object of type `_T@set` has no attribute `replace`

static-frame (https://github.com/static-frame/static-frame)
+ static_frame/core/node_iter.py:867:16 error[invalid-return-type] Return type does not match returned value: expected `IterNodeDelegate[TContainerAny@IterNode]`, found `IterNodeDelegate[Quilt]`
+ static_frame/core/node_iter.py:873:16 error[invalid-return-type] Return type does not match returned value: expected `IterNodeDelegateReducible[TContainerAny@IterNode]`, found `IterNodeDelegateReducible[Quilt]`
+ static_frame/core/node_iter.py:879:16 error[invalid-return-type] Return type does not match returned value: expected `IterNodeDelegateMapable[TContainerAny@IterNode]`, found `IterNodeDelegateMapable[Quilt]`
- static_frame/core/yarn.py:422:16 error[invalid-return-type] Return type does not match returned value: expected `InterGetItemILocReduces[Yarn[Any], object_]`, found `InterGetItemILocReduces[Yarn[Any], Frame]`
+ static_frame/core/yarn.py:422:16 error[invalid-return-type] Return type does not match returned value: expected `InterGetItemILocReduces[Yarn[Any], object_]`, found `InterGetItemILocReduces[Unknown, Frame]`

werkzeug (https://github.com/pallets/werkzeug)
- src/werkzeug/datastructures/structures.py:532:16 error[invalid-return-type] Return type does not match returned value: expected `list[V@MultiDict]`, found `V@MultiDict | list[Unknown]`
+ src/werkzeug/datastructures/structures.py:532:16 error[invalid-return-type] Return type does not match returned value: expected `list[V@MultiDict]`, found `V@MultiDict | list[V@MultiDict]`

xarray (https://github.com/pydata/xarray)
- xarray/tests/test_combine.py:92:50 error[invalid-assignment] Object of type `dict[tuple[int, ...], list[list[Dataset]] | list[Dataset] | Dataset]` is not assignable to `dict[tuple[int, ...], Dataset]`
+ xarray/tests/test_combine.py:92:50 error[invalid-assignment] Object of type `dict[tuple[int, ...], list[list[Dataset]] | Dataset | list[Dataset]]` is not assignable to `dict[tuple[int, ...], Dataset]`

Full report with detailed diff (timing results)

@dcreager
Copy link
Copy Markdown
Member Author

dcreager commented Apr 6, 2026

ecosystem: The churn in pandas-stubs is a red herring. We are now inferring less precise types in the diagnostic messages, but that is because more of our inferred solutions are now hitting the always combine using union bug. I've extracted that into a new regression mdtest that should resolve once we've migrated SpecializationBuilder over to using a constraint set for its internal state.

@dcreager
Copy link
Copy Markdown
Member Author

dcreager commented Apr 7, 2026

ecosystem: The new diagnostics in prefect look like new instances of astral-sh/ty#3114

@dcreager dcreager marked this pull request as ready for review April 7, 2026 13:38
@carljm carljm removed their request for review April 8, 2026 00:37
@AlexWaygood AlexWaygood removed their request for review April 10, 2026 12:46
Copy link
Copy Markdown
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.

Very nice!

@dcreager dcreager merged commit 810cab3 into main Apr 21, 2026
56 checks passed
@dcreager dcreager deleted the dcreager/quantify-solutions branch April 21, 2026 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal An internal refactor or improvement ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants