Skip to content

[ty] Gradual constraints head - #27900

Draft
ibraheemdev wants to merge 11 commits into
mainfrom
ibraheem/quantification-stack
Draft

[ty] Gradual constraints head#27900
ibraheemdev wants to merge 11 commits into
mainfrom
ibraheem/quantification-stack

Conversation

@ibraheemdev

Copy link
Copy Markdown
Member

Splitting out parts of the quantification stack necessary for #26873. This is not intended to be merged.

@ibraheemdev ibraheemdev added the ty Multi-file analysis & type inference label Aug 19, 2026
@ibraheemdev ibraheemdev changed the title [ty] Gradual constraints dependencies [ty] Gradual constraints head Aug 19, 2026
@astral-sh-bot

astral-sh-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

Typing conformance results

No changes detected ✅

Current numbers
The percentage of diagnostics emitted that were expected errors held steady at 97.69%. The percentage of expected errors that received a diagnostic held steady at 93.71%. The number of fully passing files held steady at 110/136.

@astral-sh-bot

astral-sh-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

Memory usage report

Summary

Project Old New Diff Outcome
prefect 476.14MB 476.25MB +0.02% (116.24kB)
sphinx 172.44MB 172.44MB +0.00% (1.39kB)
flake8 40.14MB 40.14MB -
trio 96.75MB 96.73MB -0.03% (25.95kB) ⬇️

Significant changes

Click to expand detailed breakdown

prefect

Name Old New Diff Outcome
CallableType 8.55MB 8.57MB +0.22% (18.99kB)
ProtocolInterface 780.95kB 795.76kB +1.90% (14.81kB)
Specialization 5.00MB 5.00MB +0.20% (10.08kB)
Type<'db>::apply_specialization_inner_::interned_arguments 5.44MB 5.45MB +0.15% (8.12kB)
FunctionType 6.81MB 6.82MB +0.10% (7.19kB)
StaticClassLiteral<'db>::try_mro_specialized_ 4.49MB 4.49MB +0.16% (7.18kB)
Type<'db>::apply_specialization_inner_ 3.74MB 3.74MB +0.15% (5.86kB)
GenericAlias 1.87MB 1.87MB +0.27% (5.20kB)
FunctionType<'db>::signature_ 4.96MB 4.96MB +0.09% (4.77kB)
Type<'db>::cached_materialization_ 1.13MB 1.13MB +0.40% (4.62kB)
IntersectionType 1.62MB 1.61MB -0.27% (4.44kB) ⬇️
cached_protocol_interface 214.02kB 217.95kB +1.84% (3.94kB)
protocol_apply_self_with_receiver::interned_arguments 692.15kB 696.01kB +0.56% (3.86kB)
StaticClassLiteral<'db>::try_mro_specialized_::interned_arguments 1.25MB 1.25MB +0.21% (2.74kB)
Type<'db>::cached_materialization_::interned_arguments 1.49MB 1.49MB +0.18% (2.73kB)
... 31 more

sphinx

Name Old New Diff Outcome
TypePair 2.18MB 2.18MB +0.01% (288.00B)
infer_expression_types_impl 12.02MB 12.02MB +0.00% (256.00B)
IntersectionType 631.39kB 631.55kB +0.03% (168.00B)
infer_definition_types 11.61MB 11.61MB +0.00% (128.00B)
TypeVarInference 355.75kB 355.88kB +0.04% (128.00B)
Specialization 1.70MB 1.70MB +0.01% (112.00B)
UnionType 627.97kB 628.08kB +0.02% (112.00B)
is_redundant_with_impl 793.00kB 793.08kB +0.01% (80.00B)
GenericAlias 666.00kB 666.07kB +0.01% (72.00B)
is_possibly_constraint_set_assignable 84.78kB 84.82kB +0.05% (40.00B)
specialization_inner 148.25kB 148.29kB +0.03% (40.00B)

trio

Name Old New Diff Outcome
when_constraint_set_assignable_to_owned_impl 734.35kB 721.17kB -1.79% (13.18kB) ⬇️
TypePair 1.04MB 1.03MB -0.54% (5.72kB) ⬇️
IntersectionType 289.08kB 287.19kB -0.65% (1.89kB) ⬇️
is_redundant_with_impl 370.22kB 369.13kB -0.29% (1.09kB) ⬇️
UnionType 325.33kB 324.25kB -0.33% (1.08kB) ⬇️
assignable_solutions_impl 121.85kB 120.96kB -0.73% (912.00B) ⬇️
StaticClassLiteral<'db>::variance_of_owner_::interned_arguments 43.14kB 42.28kB -1.99% (880.00B) ⬇️
Type<'db>::cached_materialization_::interned_arguments 323.28kB 322.50kB -0.24% (800.00B) ⬇️
union_from_two_elements 42.55kB 42.02kB -1.23% (536.00B) ⬇️
Type<'db>::cached_materialization_ 233.48kB 233.02kB -0.20% (480.00B) ⬇️
StaticClassLiteral<'db>::try_mro_specialized_ 854.12kB 854.52kB +0.05% (416.00B)
StaticClassLiteral<'db>::variance_of_owner_ 21.37kB 20.98kB -1.83% (400.00B) ⬇️
Type<'db>::apply_specialization_inner_::interned_arguments 1.26MB 1.26MB +0.02% (320.00B)
Type<'db>::apply_specialization_inner_ 879.11kB 879.36kB +0.03% (256.00B)
TupleType 204.78kB 204.62kB -0.08% (160.00B) ⬇️
... 15 more

@astral-sh-bot

astral-sh-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

ecosystem-analyzer results

Lint rule Added Removed Changed
unresolved-attribute 0 0 23
unsound-yield 14 0 0
invalid-return-type 4 1 8
invalid-argument-type 0 1 10
unsupported-operator 0 0 8
unsound-return-statement 3 3 0
no-matching-overload 1 3 0
invalid-assignment 2 0 1
unsound-assignment 0 0 1
Total 24 8 51

Large timing changes:

Project Old Time New Time Change
dd-trace-py 5.92s 0.98s -83%
Raw diff (83 changes)
Expression (https://github.com/cognitedata/Expression)
+ README.py:521:20 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ README.py:595:20 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_option_builder.py:84:24 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_option_builder.py:116:24 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_option_builder.py:148:24 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_option_builder.py:221:24 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_option_builder.py:279:27 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `str`
+ tests/test_async_option_builder.py:300:19 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_option_builder.py:335:16 warning[unsound-return-statement] Unsound return statement: `Any` is not a subtype of `int`
+ tests/test_async_result_builder.py:84:24 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_result_builder.py:116:24 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_result_builder.py:152:24 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_result_builder.py:225:24 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_result_builder.py:303:27 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `str`
+ tests/test_async_result_builder.py:324:19 warning[unsound-yield] Unsound `yield`: `Any` is not a subtype of `int`
+ tests/test_async_result_builder.py:363:16 warning[unsound-return-statement] Unsound return statement: `Any` is not a subtype of `int`

core (https://github.com/home-assistant/core)
- homeassistant/components/isy994/helpers.py:235:24 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `(object, /) -> object`, found `Overload[(self: LiteralString) -> LiteralString, (self) -> str]`
+ homeassistant/components/isy994/helpers.py:235:24 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `(object, /) -> str`, found `Overload[(self: LiteralString) -> LiteralString, (self) -> str]`

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

hydpy (https://github.com/hydpy-dev/hydpy)
- hydpy/auxs/interptools.py:162:17 warning[unsound-assignment] Unsound assignment: `float | Sequence[float] | ndarray[tuple[int], dtype[float64]] | Any | ndarray[tuple[Any, ...], dtype[float64]]` is not a subtype of `float | Sequence[float] | ndarray[tuple[int], dtype[float64]]`
+ hydpy/auxs/interptools.py:162:17 warning[unsound-assignment] Unsound assignment: `float | Sequence[float] | ndarray[tuple[int], dtype[float64]] | ndarray[tuple[Any, ...], dtype[float64]] | Any` is not a subtype of `float | Sequence[float] | ndarray[tuple[int], dtype[float64]]`
- hydpy/auxs/interptools.py:166:36 error[invalid-argument-type] Argument to constructor `enumerate.__new__` is incorrect: Expected `Iterable[Unknown]`, found `int | (Sequence[float] & ~float*) | (ndarray[tuple[int], dtype[float64]] & ~float*) | (Any & ~float*) | (ndarray[tuple[Any, ...], dtype[float64]] & ~float*)`
+ hydpy/auxs/interptools.py:166:36 error[invalid-argument-type] Argument to constructor `enumerate.__new__` is incorrect: Expected `Iterable[Unknown]`, found `int | (Sequence[float] & ~float*) | (ndarray[tuple[int], dtype[float64]] & ~float*) | (ndarray[tuple[Any, ...], dtype[float64]] & ~float*) | (Any & ~float*)`

ibis (https://github.com/ibis-project/ibis)
- ibis/expr/datatypes/core.py:879:17 error[no-matching-overload] No overload of bound method `str.join` matches arguments

jax (https://github.com/google/jax)
- jax/_src/checkify.py:1306:14 error[invalid-argument-type] Argument to function `safe_map` is incorrect: Expected `(_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 4 union elements, /) -> tuple[Any, ...] | tuple[int, int, int] | tuple[int] | tuple[int, int]`, found `Overload[(a: _SupportsShape[Never]) -> tuple[Any, ...], [_ShapeT](a: _SupportsShape[_ShapeT]) -> _ShapeT, (a: complex | bytes | str) -> tuple[()], [_PyScalarT](a: list[_PyScalarT] | tuple[_PyScalarT, ...]) -> tuple[int], [_PyScalarT](a: Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]) -> tuple[int, int], [_PyScalarT](a: Sequence[Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]]) -> tuple[int, int, int], (a: memoryview[int] | bytearray) -> tuple[int], (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 3 union elements) -> tuple[Any, ...]]`
+ jax/_src/checkify.py:1306:14 error[invalid-argument-type] Argument to function `safe_map` is incorrect: Expected `(_SupportsShape[tuple[Any, ...] | tuple[int] | tuple[int, int] | tuple[int, int, int]] | _Buffer | _SupportsArray[dtype[Any]] | ... omitted 4 union elements, /) -> tuple[Any, ...] | tuple[int] | tuple[int, int] | tuple[int, int, int]`, found `Overload[(a: _SupportsShape[Never]) -> tuple[Any, ...], [_ShapeT](a: _SupportsShape[_ShapeT]) -> _ShapeT, (a: complex | bytes | str) -> tuple[()], [_PyScalarT](a: list[_PyScalarT] | tuple[_PyScalarT, ...]) -> tuple[int], [_PyScalarT](a: Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]) -> tuple[int, int], [_PyScalarT](a: Sequence[Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]]) -> tuple[int, int, int], (a: memoryview[int] | bytearray) -> tuple[int], (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 3 union elements) -> tuple[Any, ...]]`
- jax/_src/lax/control_flow/solves.py:202:24 error[invalid-argument-type] Argument to function `safe_map` is incorrect: Expected `(_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 4 union elements, /) -> tuple[Any, ...] | tuple[int, int, int] | tuple[int] | tuple[int, int]`, found `Overload[(a: _SupportsShape[Never]) -> tuple[Any, ...], [_ShapeT](a: _SupportsShape[_ShapeT]) -> _ShapeT, (a: complex | bytes | str) -> tuple[()], [_PyScalarT](a: list[_PyScalarT] | tuple[_PyScalarT, ...]) -> tuple[int], [_PyScalarT](a: Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]) -> tuple[int, int], [_PyScalarT](a: Sequence[Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]]) -> tuple[int, int, int], (a: memoryview[int] | bytearray) -> tuple[int], (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 3 union elements) -> tuple[Any, ...]]`
+ jax/_src/lax/control_flow/solves.py:202:24 error[invalid-argument-type] Argument to function `safe_map` is incorrect: Expected `(_SupportsShape[tuple[Any, ...] | tuple[int] | tuple[int, int] | tuple[int, int, int]] | _Buffer | _SupportsArray[dtype[Any]] | ... omitted 4 union elements, /) -> tuple[Any, ...] | tuple[int] | tuple[int, int] | tuple[int, int, int]`, found `Overload[(a: _SupportsShape[Never]) -> tuple[Any, ...], [_ShapeT](a: _SupportsShape[_ShapeT]) -> _ShapeT, (a: complex | bytes | str) -> tuple[()], [_PyScalarT](a: list[_PyScalarT] | tuple[_PyScalarT, ...]) -> tuple[int], [_PyScalarT](a: Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]) -> tuple[int, int], [_PyScalarT](a: Sequence[Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]]) -> tuple[int, int, int], (a: memoryview[int] | bytearray) -> tuple[int], (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 3 union elements) -> tuple[Any, ...]]`
- jax/_src/lax/control_flow/solves.py:203:26 error[invalid-argument-type] Argument to function `safe_map` is incorrect: Expected `(_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 4 union elements, /) -> tuple[Any, ...] | tuple[int, int, int] | tuple[int] | tuple[int, int]`, found `Overload[(a: _SupportsShape[Never]) -> tuple[Any, ...], [_ShapeT](a: _SupportsShape[_ShapeT]) -> _ShapeT, (a: complex | bytes | str) -> tuple[()], [_PyScalarT](a: list[_PyScalarT] | tuple[_PyScalarT, ...]) -> tuple[int], [_PyScalarT](a: Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]) -> tuple[int, int], [_PyScalarT](a: Sequence[Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]]) -> tuple[int, int, int], (a: memoryview[int] | bytearray) -> tuple[int], (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 3 union elements) -> tuple[Any, ...]]`
+ jax/_src/lax/control_flow/solves.py:203:26 error[invalid-argument-type] Argument to function `safe_map` is incorrect: Expected `(_SupportsShape[tuple[Any, ...] | tuple[int] | tuple[int, int] | tuple[int, int, int]] | _Buffer | _SupportsArray[dtype[Any]] | ... omitted 4 union elements, /) -> tuple[Any, ...] | tuple[int] | tuple[int, int] | tuple[int, int, int]`, found `Overload[(a: _SupportsShape[Never]) -> tuple[Any, ...], [_ShapeT](a: _SupportsShape[_ShapeT]) -> _ShapeT, (a: complex | bytes | str) -> tuple[()], [_PyScalarT](a: list[_PyScalarT] | tuple[_PyScalarT, ...]) -> tuple[int], [_PyScalarT](a: Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]) -> tuple[int, int], [_PyScalarT](a: Sequence[Sequence[list[_PyScalarT] | tuple[_PyScalarT, ...]]]) -> tuple[int, int, int], (a: memoryview[int] | bytearray) -> tuple[int], (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 3 union elements) -> tuple[Any, ...]]`
- jax/_src/lax/convolution.py:846:18 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `(tuple[int | Any, int | Any] | Any | ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]], /) -> Unknown`, found `def prep_one_pad(pad_lo_hi: tuple[int | Any, int | Any]) -> Unknown`
+ jax/_src/lax/convolution.py:846:18 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `(tuple[int | Any, int | Any] | ndarray[tuple[Any, ...], dtype[signedinteger[_64Bit]]] | Any, /) -> Unknown`, found `def prep_one_pad(pad_lo_hi: tuple[int | Any, int | Any]) -> Unknown`
+ jax/_src/pallas/mosaic/interpret/shared_memory.py:394:35 error[invalid-assignment] Object of type `dataclasses.Field[dict[MemKey@GenericSharedMemory, Allocation] | dict[str, Allocation]]` is not assignable to `dict[MemKey@GenericSharedMemory, Allocation]`

pandas (https://github.com/pandas-dev/pandas)
- pandas/core/common.py:316:21 error[invalid-argument-type] Argument to `list.__init__` is incorrect: Expected `Iterable[T@maybe_iterable_to_list]`, found `(Iterable[T@maybe_iterable_to_list] & ~Sized) | (T@maybe_iterable_to_list & Iterable[object] & ~Sized)`
+ pandas/core/common.py:316:16 error[invalid-return-type] Return type does not match returned value: expected `Collection[T@maybe_iterable_to_list] | T@maybe_iterable_to_list`, found `list[object]`
+ pandas/core/frame.py:19697:73 error[invalid-assignment] Object of type `defaultdict[HashableT2@_from_nested_dict, dict[HashableT@_from_nested_dict, T@_from_nested_dict] | dict[str, T@_from_nested_dict]]` is not assignable to `defaultdict[HashableT2@_from_nested_dict, dict[HashableT@_from_nested_dict, T@_from_nested_dict]]`

prefect (https://github.com/PrefectHQ/prefect)
- src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:536:16 error[invalid-return-type] Return type does not match returned value: expected `dict[str, Any]`, found `CoroutineType[Any, Any, dict[str, Any]] | dict[str, Any]`
+ src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:536:16 error[invalid-return-type] Return type does not match returned value: expected `dict[str, Any]`, found `Awaitable[CoroutineType[Any, Any, dict[str, Any]] | dict[str, Any]] | dict[str, Any]`
- src/prefect/flows.py:1749:16 error[invalid-return-type] Return type does not match returned value: expected `UUID`, found `CoroutineType[Any, Any, UUID] | UUID`
+ src/prefect/flows.py:1749:16 error[invalid-return-type] Return type does not match returned value: expected `UUID`, found `Awaitable[CoroutineType[Any, Any, UUID] | UUID] | UUID`
- src/prefect/runner/runner.py:387:16 error[invalid-return-type] Return type does not match returned value: expected `UUID`, found `CoroutineType[Any, Any, UUID] | UUID`
+ src/prefect/runner/runner.py:387:16 error[invalid-return-type] Return type does not match returned value: expected `UUID`, found `Awaitable[CoroutineType[Any, Any, UUID] | UUID] | UUID`
- src/prefect/runner/runner.py:545:16 error[invalid-return-type] Return type does not match returned value: expected `UUID`, found `CoroutineType[Any, Any, UUID] | UUID`
+ src/prefect/runner/runner.py:545:16 error[invalid-return-type] Return type does not match returned value: expected `UUID`, found `Awaitable[CoroutineType[Any, Any, UUID] | UUID] | UUID`
- src/prefect/runtime/deployment.py:121:12 error[unresolved-attribute] Attribute `deployment_id` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/deployment.py:121:12 error[unresolved-attribute] Attribute `deployment_id` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/deployment.py:122:24 error[unresolved-attribute] Attribute `deployment_id` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/deployment.py:122:24 error[unresolved-attribute] Attribute `deployment_id` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/deployment.py:141:12 error[unresolved-attribute] Attribute `parameters` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/deployment.py:141:12 error[unresolved-attribute] Attribute `parameters` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/deployment.py:153:12 error[unresolved-attribute] Attribute `name` is not defined on `CoroutineType[Any, Any, DeploymentResponse]` in union `CoroutineType[Any, Any, DeploymentResponse] | DeploymentResponse`
+ src/prefect/runtime/deployment.py:153:12 error[unresolved-attribute] Attribute `name` is not defined on `Awaitable[CoroutineType[Any, Any, DeploymentResponse] | DeploymentResponse]` in union `Awaitable[CoroutineType[Any, Any, DeploymentResponse] | DeploymentResponse] | DeploymentResponse`
- src/prefect/runtime/deployment.py:165:12 error[unresolved-attribute] Attribute `version` is not defined on `CoroutineType[Any, Any, DeploymentResponse]` in union `CoroutineType[Any, Any, DeploymentResponse] | DeploymentResponse`
+ src/prefect/runtime/deployment.py:165:12 error[unresolved-attribute] Attribute `version` is not defined on `Awaitable[CoroutineType[Any, Any, DeploymentResponse] | DeploymentResponse]` in union `Awaitable[CoroutineType[Any, Any, DeploymentResponse] | DeploymentResponse] | DeploymentResponse`
- src/prefect/runtime/flow_run.py:158:16 error[unresolved-attribute] Attribute `tags` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/flow_run.py:158:16 error[unresolved-attribute] Attribute `tags` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/flow_run.py:173:16 error[unresolved-attribute] Attribute `run_count` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/flow_run.py:173:16 error[unresolved-attribute] Attribute `run_count` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/flow_run.py:188:16 error[unresolved-attribute] Attribute `name` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/flow_run.py:188:16 error[unresolved-attribute] Attribute `name` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/flow_run.py:203:16 error[unresolved-attribute] Attribute `name` is not defined on `CoroutineType[Any, Any, Flow]` in union `CoroutineType[Any, Any, Flow] | Flow`
+ src/prefect/runtime/flow_run.py:203:16 error[unresolved-attribute] Attribute `name` is not defined on `Awaitable[CoroutineType[Any, Any, Flow] | Flow]` in union `Awaitable[CoroutineType[Any, Any, Flow] | Flow] | Flow`
- src/prefect/runtime/flow_run.py:218:16 error[unresolved-attribute] Object of type `CoroutineType[Any, Any, Flow] | Flow` has no attribute `version`
+ src/prefect/runtime/flow_run.py:218:16 error[unresolved-attribute] Object of type `Awaitable[CoroutineType[Any, Any, Flow] | Flow] | Flow` has no attribute `version`
- src/prefect/runtime/flow_run.py:233:16 error[unresolved-attribute] Attribute `expected_start_time` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/flow_run.py:233:16 error[unresolved-attribute] Attribute `expected_start_time` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/flow_run.py:249:16 error[unresolved-attribute] Attribute `parameters` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/flow_run.py:249:16 error[unresolved-attribute] Attribute `parameters` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/flow_run.py:263:30 error[unresolved-attribute] Attribute `parent_task_run_id` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/flow_run.py:263:30 error[unresolved-attribute] Attribute `parent_task_run_id` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/flow_run.py:271:20 error[unresolved-attribute] Attribute `flow_run_id` is not defined on `CoroutineType[Any, Any, TaskRun]` in union `CoroutineType[Any, Any, TaskRun] | TaskRun`
+ src/prefect/runtime/flow_run.py:271:20 error[unresolved-attribute] Attribute `flow_run_id` is not defined on `Awaitable[CoroutineType[Any, Any, TaskRun] | TaskRun]` in union `Awaitable[CoroutineType[Any, Any, TaskRun] | TaskRun] | TaskRun`
- src/prefect/runtime/flow_run.py:271:52 error[unresolved-attribute] Attribute `flow_run_id` is not defined on `CoroutineType[Any, Any, TaskRun]` in union `CoroutineType[Any, Any, TaskRun] | TaskRun`
+ src/prefect/runtime/flow_run.py:271:52 error[unresolved-attribute] Attribute `flow_run_id` is not defined on `Awaitable[CoroutineType[Any, Any, TaskRun] | TaskRun]` in union `Awaitable[CoroutineType[Any, Any, TaskRun] | TaskRun] | TaskRun`
- src/prefect/runtime/flow_run.py:287:17 error[unresolved-attribute] Attribute `deployment_id` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | (FlowRun & ~AlwaysFalsy)`
+ src/prefect/runtime/flow_run.py:287:17 error[unresolved-attribute] Attribute `deployment_id` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] & ~AlwaysFalsy` in union `(Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] & ~AlwaysFalsy) | (FlowRun & ~AlwaysFalsy)`
- src/prefect/runtime/flow_run.py:288:16 error[unresolved-attribute] Attribute `deployment_id` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | (FlowRun & ~AlwaysFalsy)`
+ src/prefect/runtime/flow_run.py:288:16 error[unresolved-attribute] Attribute `deployment_id` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] & ~AlwaysFalsy` in union `(Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] & ~AlwaysFalsy) | (FlowRun & ~AlwaysFalsy)`
- src/prefect/runtime/flow_run.py:306:12 error[unresolved-attribute] Attribute `parent_task_run_id` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/flow_run.py:306:12 error[unresolved-attribute] Attribute `parent_task_run_id` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/flow_run.py:310:44 error[unresolved-attribute] Attribute `parent_task_run_id` is not defined on `CoroutineType[Any, Any, FlowRun]` in union `CoroutineType[Any, Any, FlowRun] | FlowRun`
+ src/prefect/runtime/flow_run.py:310:44 error[unresolved-attribute] Attribute `parent_task_run_id` is not defined on `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun]` in union `Awaitable[CoroutineType[Any, Any, FlowRun] | FlowRun] | FlowRun`
- src/prefect/runtime/flow_run.py:312:42 error[unresolved-attribute] Attribute `flow_run_id` is not defined on `CoroutineType[Any, Any, TaskRun]` in union `CoroutineType[Any, Any, TaskRun] | TaskRun`
+ src/prefect/runtime/flow_run.py:312:42 error[unresolved-attribute] Attribute `flow_run_id` is not defined on `Awaitable[CoroutineType[Any, Any, TaskRun] | TaskRun]` in union `Awaitable[CoroutineType[Any, Any, TaskRun] | TaskRun] | TaskRun`
- src/prefect/tasks.py:1227: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/tasks.py:1227:16 error[no-matching-overload] No overload of function `run_task` matches arguments
+ src/prefect/tasks.py:1227:16 warning[unsound-return-statement] Unsound return statement: `Unknown` is not a subtype of `T@__call__ | State[T@__call__] | None`
- src/prefect/utilities/asyncutils/__init__.py:198:16 error[invalid-return-type] Return type does not match returned value: expected `R@run_coro_as_sync | None`, found `CoroutineType[Any, Any, R@run_coro_as_sync | None] | None | R@run_coro_as_sync`
+ src/prefect/utilities/asyncutils/__init__.py:198:16 error[invalid-return-type] Return type does not match returned value: expected `R@run_coro_as_sync | None`, found `CoroutineType[Any, Any, R@run_coro_as_sync | None] | R@run_coro_as_sync | None`
- src/prefect/utilities/asyncutils/__init__.py:207:20 error[invalid-return-type] Return type does not match returned value: expected `R@run_coro_as_sync | None`, found `CoroutineType[Any, Any, R@run_coro_as_sync | None] | None | R@run_coro_as_sync`
+ src/prefect/utilities/asyncutils/__init__.py:207:20 error[invalid-return-type] Return type does not match returned value: expected `R@run_coro_as_sync | None`, found `CoroutineType[Any, Any, R@run_coro_as_sync | None] | R@run_coro_as_sync | None`

pytest-autoprofile (https://gitlab.com/TTsangSC/pytest-autoprofile)
+ src/pytest_autoprofile/_test_utils.py:1587:16 error[invalid-return-type] Return type does not match returned value: expected `((((**PS@environment_fixture) -> tuple[Path | Sequence[str] | Sequence[Path], Path | Sequence[str] | Sequence[Path]]) | ((**PS@environment_fixture) -> Generator[tuple[Path | Sequence[str] | Sequence[Path], Path | Sequence[str] | Sequence[Path]], None, None]), /) -> FixtureFunctionDefinition) | FixtureFunctionDefinition`, found `partial[([**PS'return](((**PS'return) -> tuple[Path | Sequence[str] | Sequence[Path], Path | Sequence[str] | Sequence[Path]]) | ((**PS'return) -> Generator[tuple[Path | Sequence[str] | Sequence[Path], Path | Sequence[str] | Sequence[Path]], None, None]), /) -> FixtureFunctionDefinition) | FixtureFunctionDefinition]`

scikit-learn (https://github.com/scikit-learn/scikit-learn)
- sklearn/gaussian_process/kernels.py:1593:17 error[no-matching-overload] No overload of bound method `str.join` matches arguments
- sklearn/gaussian_process/kernels.py:1792:17 error[no-matching-overload] No overload of bound method `str.join` matches arguments

static-frame (https://github.com/static-frame/static-frame)
- static_frame/core/index.py:1297:16 error[invalid-return-type] Return type does not match returned value: expected `Iterator[Hashable | complex | integer[Any] | ... omitted 8 union elements]`, found `reversed[Any | ndarray[tuple[Any, ...], Any]]`
+ static_frame/core/index.py:1297:16 error[invalid-return-type] Return type does not match returned value: expected `Iterator[Hashable | complex | integer[Any] | ... omitted 8 union elements]`, found `reversed[ndarray[tuple[Any, ...], Any] | Any]`
- static_frame/core/series_mapping.py:60:16 error[invalid-return-type] Return type does not match returned value: expected `Iterator[TVValues@SeriesMappingValuesView]`, found `reversed[Any | ndarray[tuple[Any, ...], Any]]`
+ static_frame/core/series_mapping.py:60:16 error[invalid-return-type] Return type does not match returned value: expected `Iterator[TVValues@SeriesMappingValuesView]`, found `reversed[TVValues@SeriesMappingValuesView | ndarray[tuple[Any, ...], Any] | Any]`

streamlit (https://github.com/streamlit/streamlit)
- lib/streamlit/elements/widgets/button_group.py:672:16 warning[unsound-return-statement] Unsound return statement: `list[Unknown] | Unknown | None` is not a subtype of `list[V@pills] | V@pills | None`
+ lib/streamlit/elements/widgets/button_group.py:672:16 error[invalid-return-type] Return type does not match returned value: expected `list[V@pills] | V@pills | None`, found `list[V@pills | list[V@pills] | None] | V@pills | list[V@pills] | None`
- lib/streamlit/elements/widgets/button_group.py:1042:16 warning[unsound-return-statement] Unsound return statement: `list[Unknown] | Unknown | None` is not a subtype of `list[V@segmented_control] | V@segmented_control | None`
+ lib/streamlit/elements/widgets/button_group.py:1042:16 error[invalid-return-type] Return type does not match returned value: expected `list[V@segmented_control] | V@segmented_control | None`, found `list[V@segmented_control | list[V@segmented_control] | None] | V@segmented_control | list[V@segmented_control] | None`
- lib/streamlit/elements/widgets/select_slider.py:416:16 warning[unsound-return-statement] Unsound return statement: `Unknown | tuple[Unknown, Unknown]` is not a subtype of `T@select_slider | tuple[T@select_slider, T@select_slider]`

sympy (https://github.com/sympy/sympy)
- sympy/functions/special/beta_functions.py:270:31 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `(Basic, /) -> Basic`, found `<class 'conjugate'>`
+ sympy/functions/special/beta_functions.py:270:31 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `(Basic, /) -> Expr`, found `<class 'conjugate'>`
- sympy/functions/special/beta_functions.py:386:31 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `(Basic, /) -> Basic`, found `<class 'conjugate'>`
+ sympy/functions/special/beta_functions.py:386:31 error[invalid-argument-type] Argument to constructor `map.__new__` is incorrect: Expected `(Basic, /) -> Expr`, found `<class 'conjugate'>`
- sympy/physics/hydrogen.py:84:11 error[unsupported-operator] Operator `-` is not supported between two objects of type `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:84:11 error[unsupported-operator] Operator `-` is not supported between two objects of type `Basic | Unknown | int`
- sympy/physics/hydrogen.py:86:9 error[unsupported-operator] Operator `/` is not supported between objects of type `Literal[1]` and `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:86:9 error[unsupported-operator] Operator `/` is not supported between objects of type `Literal[1]` and `Basic | Unknown | int`
- sympy/physics/hydrogen.py:87:10 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[2]` and `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:87:10 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[2]` and `Basic | Unknown | int`
- sympy/physics/hydrogen.py:89:50 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[2]` and `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:89:50 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[2]` and `Basic | Unknown | int`
- sympy/physics/hydrogen.py:89:64 error[unsupported-operator] Operator `+` is not supported between two objects of type `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:89:64 error[unsupported-operator] Operator `+` is not supported between two objects of type `Basic | Unknown | int`
- sympy/physics/hydrogen.py:93:44 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[2]` and `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:93:44 error[unsupported-operator] Operator `*` is not supported between objects of type `Literal[2]` and `Basic | Unknown | int`
- sympy/physics/hydrogen.py:288:8 error[unresolved-attribute] Attribute `is_integer` is not defined on `int` in union `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:288:8 error[unresolved-attribute] Attribute `is_integer` is not defined on `int` in union `Basic | Unknown | int`
- sympy/physics/hydrogen.py:288:25 error[unsupported-operator] Operator `<` is not supported between objects of type `Basic | int | Unknown` and `Literal[1]`
+ sympy/physics/hydrogen.py:288:25 error[unsupported-operator] Operator `<` is not supported between objects of type `Basic | Unknown | int` and `Literal[1]`
- sympy/physics/hydrogen.py:290:8 error[unresolved-attribute] Attribute `is_integer` is not defined on `int` in union `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:290:8 error[unresolved-attribute] Attribute `is_integer` is not defined on `int` in union `Basic | Unknown | int`
- sympy/physics/hydrogen.py:290:30 error[unsupported-operator] Operator `>` is not supported between two objects of type `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:290:30 error[unsupported-operator] Operator `>` is not supported between two objects of type `Basic | Unknown | int`
- sympy/physics/hydrogen.py:292:34 error[invalid-argument-type] Argument to function `abs` is incorrect: Expected `SupportsAbs[Unknown]`, found `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:292:34 error[invalid-argument-type] Argument to function `abs` is incorrect: Expected `SupportsAbs[Unknown]`, found `Basic | Unknown | int`
- sympy/physics/hydrogen.py:292:8 error[unresolved-attribute] Attribute `is_integer` is not defined on `int` in union `Basic | int | Unknown`
+ sympy/physics/hydrogen.py:292:8 error[unresolved-attribute] Attribute `is_integer` is not defined on `int` in union `Basic | Unknown | int`

tornado (https://github.com/tornadoweb/tornado)
- tornado/gen.py:239:62 error[invalid-argument-type] Argument to `Runner.__init__` is incorrect: Expected `None | Awaitable[Unknown] | list[Awaitable[Unknown]] | dict[Any, Awaitable[Unknown]] | Future[Unknown]`, found `_T@next | _VT@next | _T@next`
+ tornado/gen.py:239:62 error[invalid-argument-type] Argument to `Runner.__init__` is incorrect: Expected `None | Awaitable[Unknown] | list[Awaitable[Unknown]] | dict[Any, Awaitable[Unknown]] | Future[Unknown]`, found `_T@next | _T@next | _VT@next`

Full report with detailed diff (timing results)

@codspeed-hq

codspeed-hq Bot commented Aug 19, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 10.22%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 4 improved benchmarks
✅ 182 untouched benchmarks
🆕 20 new benchmarks
⏩ 24 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation attrs (frozen inputs) 623.9 ms 561 ms +11.21%
Simulation attrs 656.2 ms 592.7 ms +10.72%
Simulation attrs (all rules) 657.8 ms 594.5 ms +10.65%
Simulation ty_micro[pandas_tdd] 402 ms 371.1 ms +8.32%
🆕 Simulation ty_micro[independent_noninferable_alternatives/first/12] N/A 63.9 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/first/16] N/A 65.6 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/first/20] N/A 67.4 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/first/4] N/A 60.9 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/first/8] N/A 62.4 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/last/12] N/A 64.1 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/last/16] N/A 65.5 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/last/20] N/A 67 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/last/4] N/A 61 ms N/A
🆕 Simulation ty_micro[independent_noninferable_alternatives/last/8] N/A 62.3 ms N/A
🆕 Memory ty_micro[independent_noninferable_alternatives/first/12] N/A 8.2 MB N/A
🆕 Memory ty_micro[independent_noninferable_alternatives/first/16] N/A 8.3 MB N/A
🆕 Memory ty_micro[independent_noninferable_alternatives/first/20] N/A 8.3 MB N/A
🆕 Memory ty_micro[independent_noninferable_alternatives/first/4] N/A 8.2 MB N/A
🆕 Memory ty_micro[independent_noninferable_alternatives/first/8] N/A 8.2 MB N/A
🆕 Memory ty_micro[independent_noninferable_alternatives/last/12] N/A 8.2 MB N/A
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

Curious why this is faster? Use the CodSpeed MCP and ask your agent.


Comparing ibraheem/quantification-stack (8aa001c) with main (3070999)

Open in CodSpeed

Footnotes

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

@ibraheemdev
ibraheemdev force-pushed the ibraheem/quantification-stack branch from bac63d2 to 851b709 Compare August 21, 2026 04:59
@ibraheemdev
ibraheemdev force-pushed the ibraheem/quantification-stack branch from 851b709 to 8aa001c Compare August 24, 2026 20:11
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.

2 participants