[ty] Full-scope bidirectional inference for unannotated container literals#23761
Draft
ibraheemdev wants to merge 4 commits intomainfrom
Draft
[ty] Full-scope bidirectional inference for unannotated container literals#23761ibraheemdev wants to merge 4 commits intomainfrom
ibraheemdev wants to merge 4 commits intomainfrom
Conversation
Typing conformance resultsNo changes detected ✅Current numbersThe 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. |
Merging this PR will degrade performance by 39.66%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | static_frame |
22.3 s | 23.9 s | -6.65% |
| ❌ | WallTime | sympy |
64.2 s | 104.5 s | -38.55% |
| ❌ | WallTime | altair |
5.3 s | 5.7 s | -6.19% |
| ❌ | WallTime | pandas |
71.1 s | 84.3 s | -15.67% |
| ❌ | Simulation | anyio |
1.2 s | 1.3 s | -5.03% |
| ❌ | WallTime | multithreaded |
1.4 s | 1.6 s | -13.01% |
| ❌ | WallTime | freqtrade |
8.2 s | 9.4 s | -12.82% |
| ❌ | WallTime | colour_science |
53.8 s | 57.9 s | -7.08% |
| ❌ | Simulation | attrs |
481.9 ms | 798.7 ms | -39.66% |
| ❌ | Simulation | hydra-zen |
1.2 s | 1.2 s | -4.27% |
| ❌ | Memory | attrs |
42.3 MB | 59.3 MB | -28.62% |
Comparing ibraheem/extended-bidi (9b59806) with ibraheem/callable-tcx (61ab8ef)
9859ff4 to
ca3b993
Compare
Memory usage reportSummary
Significant changesClick to expand detailed breakdownprefect
sphinx
trio
flake8
|
ca3b993 to
f8e6314
Compare
|
| Lint rule | Added | Removed | Changed |
|---|---|---|---|
invalid-argument-type |
169 | 254 | 292 |
unresolved-attribute |
155 | 0 | 79 |
invalid-assignment |
35 | 50 | 26 |
invalid-return-type |
0 | 69 | 4 |
no-matching-overload |
36 | 27 | 0 |
unsupported-operator |
39 | 0 | 15 |
not-subscriptable |
37 | 9 | 0 |
not-iterable |
23 | 0 | 13 |
unused-type-ignore-comment |
13 | 8 | 0 |
call-top-callable |
3 | 0 | 0 |
type-assertion-failure |
2 | 0 | 0 |
call-non-callable |
1 | 0 | 0 |
invalid-raise |
1 | 0 | 0 |
invalid-yield |
0 | 0 | 1 |
| Total | 514 | 417 | 430 |
Large timing changes:
| Project | Old Time | New Time | Change |
|---|---|---|---|
mitmproxy |
0.32s | 1.21s | +275% |
sympy |
1.92s | 6.61s | +245% |
apprise |
0.32s | 1.05s | +229% |
meson |
0.52s | 1.28s | +148% |
schemathesis |
0.19s | 0.38s | +100% |
schema_salad |
0.14s | 0.27s | +88% |
cloud-init |
0.41s | 0.76s | +87% |
pwndbg |
0.29s | 0.53s | +86% |
pip |
0.42s | 0.75s | +78% |
CPython (Argument Clinic) |
0.06s | 0.11s | +75% |
scipy |
2.52s | 4.32s | +71% |
dd-trace-py |
1.17s | 1.93s | +65% |
spack |
0.74s | 1.16s | +57% |
pywin32 |
0.39s | 0.60s | +55% |
Flaky changes detected. This PR summary excludes flaky changes; see the HTML report for details.
Showing a random sample of 228 of 1361 changes. See the HTML report for the full diff.
Raw diff sample (228 of 1361 changes)
PyGithub (https://github.com/PyGithub/PyGithub)
+ github/MainClass.py:1000:80 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
aiohttp (https://github.com/aio-libs/aiohttp)
- aiohttp/client.py:451:17 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["source_traceback"]` and value of type `StackSummary` on object of type `dict[str, Self@__del__ | str]`
alerta (https://github.com/alerta/alerta)
- tests/test_forwarder.py:44:9 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["HMAC_AUTH_CREDENTIALS"]` and value of type `list[dict[str, str]]` on object of type `dict[str, bool | str | list[str]]`
+ tests/test_forwarder.py:44:9 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["HMAC_AUTH_CREDENTIALS"]` and value of type `list[str | dict[str, str]]` on object of type `dict[str, bool | str | list[str]]`
altair (https://github.com/vega/altair)
+ altair/utils/core.py:659:13 error[unresolved-attribute] Attribute `groupdict` is not defined on `None` in union `Match[str] | None`
apprise (https://github.com/caronc/apprise)
+ apprise/config/base.py:806:38 error[not-subscriptable] Cannot subscript object of type `int` with no `__getitem__` method
+ apprise/config/base.py:813:53 error[invalid-argument-type] Argument expression after ** must be a mapping type: Found `Unknown | int | str`
+ apprise/config/base.py:818:40 error[not-subscriptable] Cannot subscript object of type `int` with no `__getitem__` method
+ apprise/config/base.py:818:40 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: SupportsIndex | slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> LiteralString, (key: SupportsIndex | slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> str]` cannot be called with key of type `Literal["asset"]` on object of type `str`
- apprise/plugins/email/base.py:676:13 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["smtp"]` and value of type `Unknown | str | None | int | tuple[str]` on object of type `dict[str, str]`
- apprise/plugins/fluxer.py:501:25 error[not-subscriptable] Cannot subscript object of type `bool` with no `__getitem__` method
- apprise/plugins/fluxer.py:512:38 error[unsupported-operator] Operator `+` is not supported between objects of type `str` and `bool | Literal[""]`
+ apprise/plugins/fluxer.py:512:38 error[unsupported-operator] Operator `+` is not supported between objects of type `str` and `Unknown | bool`
- apprise/plugins/mastodon.py:423:22 error[unsupported-operator] Operator `+` is not supported between objects of type `list[Unknown]` and `set[Unknown] | list[Unknown]`
+ apprise/plugins/mastodon.py:423:22 error[unsupported-operator] Operator `+` is not supported between objects of type `list[str | Any]` and `set[Unknown] | list[Unknown]`
- apprise/plugins/whatsapp.py:348:13 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
- tests/test_plugin_twitter.py:476:5 error[unresolved-attribute] Attribute `append` is not defined on `None` in union `list[Unknown] | None`
+ tests/test_plugin_twitter.py:476:5 error[unresolved-attribute] Attribute `append` is not defined on `None` in union `list[str | Any] | None`
attrs (https://github.com/python-attrs/attrs)
+ src/attr/_make.py:2358:37 error[unresolved-attribute] Attribute `name` is not defined on `Attribute` in union `Attribute | Unknown`
+ src/attr/_make.py:2360:43 error[unresolved-attribute] Attribute `validator` is not defined on `Attribute` in union `Attribute | Unknown`
cloud-init (https://github.com/canonical/cloud-init)
+ cloudinit/config/modules.py:381:34 error[invalid-argument-type] Argument to bound method `Modules._run_modules` is incorrect: Expected `list[ModuleDetails]`, found `list[list[ModuleType | str | list[str]] | ModuleDetails]`
+ cloudinit/distros/arch.py:142:19 error[invalid-argument-type] Argument to function `subp` is incorrect: Expected `str | bytes | list[str] | list[bytes]`, found `list[object]`
+ cloudinit/distros/ug_util.py:42:25 error[unresolved-attribute] Attribute `append` is not defined on `None` in union `None | Unknown`
- cloudinit/distros/parsers/resolv_conf.py:106:18 error[not-iterable] Object of type `None | Unknown | list[Unknown]` may not be iterable
+ cloudinit/distros/parsers/resolv_conf.py:106:18 error[not-iterable] Object of type `None | Unknown | list[Divergent]` may not be iterable
+ cloudinit/net/network_state.py:947:13 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["routes"]` and value of type `list[Unknown]` on object of type `dict[str, str]`
- cloudinit/sources/DataSourceNoCloud.py:244:12 error[unresolved-attribute] Attribute `startswith` is not defined on `None` in union `None | Unknown`
+ cloudinit/sources/DataSourceNoCloud.py:244:12 error[unresolved-attribute] Attribute `startswith` is not defined on `None` in union `None | str`
- tests/unittests/sources/test_ec2.py:665:31 error[unresolved-attribute] Attribute `get` is not defined on `str`, `list[str]` in union `str | dict[Unknown, Unknown] | dict[str, dict[str, dict[str, str | dict[str, str]]]] | list[str]`
+ tests/unittests/sources/test_ec2.py:665:31 error[unresolved-attribute] Attribute `get` is not defined on `str`, `list[str]` in union `Unknown | str | dict[Unknown, Unknown] | dict[str, dict[str, dict[str, str | dict[str, str]]]] | list[str]`
colour (https://github.com/colour-science/colour)
+ colour/io/tm2714.py:1639:42 error[invalid-argument-type] Argument to function `as_float_array` is incorrect: Expected `_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements`, found `list[str | None]`
- colour/plotting/common.py:1718:39 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `Literal["upper", "lower"] | None`, found `str | Colormap | Any`
+ colour/plotting/common.py:1718:39 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `Literal["upper", "lower"] | None`, found `Unknown | str | Colormap`
- colour/plotting/common.py:1718:39 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `int | float | None`, found `str | Colormap | Any`
+ colour/plotting/common.py:1718:39 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `int | float | None`, found `Unknown | str | Colormap`
- colour/plotting/common.py:1718:39 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `int | float | None`, found `str | Colormap | Any`
+ colour/plotting/common.py:1718:39 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `int | float | _Buffer | ... omitted 6 union elements`, found `Unknown | str | Colormap`
- colour/plotting/common.py:1718:39 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `str | Normalize | None`, found `str | Colormap | Any`
+ colour/plotting/common.py:1718:39 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `tuple[int | float, int | float, int | float, int | float] | None`, found `Unknown | str | Colormap`
- colour/plotting/models.py:1080:42 error[invalid-argument-type] Argument to bound method `Axes.scatter` is incorrect: Expected `Sequence[tuple[int | float, int | float, int | float] | str | tuple[int | float, int | float, int | float, int | float] | tuple[tuple[int | float, int | float, int | float] | str, int | float] | tuple[tuple[int | float, int | float, int | float, int | float], int | float]] | tuple[int | float, int | float, int | float] | tuple[int | float, int | float, int | float, int | float] | ... omitted 3 union elements`, found `int | str | float | Any`
+ colour/plotting/models.py:1080:42 error[invalid-argument-type] Argument to bound method `Axes.scatter` is incorrect: Expected `Sequence[tuple[int | float, int | float, int | float] | str | tuple[int | float, int | float, int | float, int | float] | tuple[tuple[int | float, int | float, int | float] | str, int | float] | tuple[tuple[int | float, int | float, int | float, int | float], int | float]] | tuple[int | float, int | float, int | float] | tuple[int | float, int | float, int | float, int | float] | ... omitted 3 union elements`, found `Unknown | int | str | float`
- colour/plotting/models.py:2021:54 error[invalid-argument-type] Argument to bound method `Axes.scatter` is incorrect: Expected `int | float | Sequence[int | float] | None`, found `int | str | float | Any`
+ colour/plotting/models.py:2021:54 error[invalid-argument-type] Argument to bound method `Axes.scatter` is incorrect: Expected `str | Colormap | None`, found `Unknown | int | str | float`
- colour/plotting/phenomena.py:1323:46 error[invalid-argument-type] Argument to bound method `Axes.pcolormesh` is incorrect: Expected `int | float | None`, found `str | int`
+ colour/plotting/phenomena.py:1323:46 error[invalid-argument-type] Argument to bound method `Axes.pcolormesh` is incorrect: Expected `str | Normalize | None`, found `Unknown | str | int`
- colour/plotting/phenomena.py:1370:20 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `Literal["data", "rgba", "auto"] | None`, found `tuple[int, int, int, int] | str | int`
+ colour/plotting/phenomena.py:1370:20 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `Literal["data", "rgba", "auto"] | None`, found `Unknown | tuple[int, int, int, int] | str | int`
- colour/plotting/phenomena.py:1370:20 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `int | float | None`, found `tuple[int, int, int, int] | str | int`
+ colour/plotting/phenomena.py:1370:20 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `int | float | None`, found `Unknown | tuple[int, int, int, int] | str | int`
- colour/plotting/phenomena.py:1370:20 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `str | None`, found `tuple[int, int, int, int] | str | int`
+ colour/plotting/phenomena.py:1370:20 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `str | Normalize | None`, found `Unknown | tuple[int, int, int, int] | str | int`
- colour/plotting/phenomena.py:1482:53 error[invalid-argument-type] Argument to bound method `Axes.pcolormesh` is incorrect: Expected `Colorizer | None`, found `str`
+ colour/plotting/phenomena.py:1482:53 error[invalid-argument-type] Argument to bound method `Axes.pcolormesh` is incorrect: Expected `Colorizer | None`, found `Unknown | str`
- colour/plotting/phenomena.py:1538:27 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `bool`, found `tuple[int, int, int, int] | str`
+ colour/plotting/phenomena.py:1538:27 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `bool`, found `Unknown | tuple[int, int, int, int] | str`
- colour/plotting/phenomena.py:1538:27 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `str | None`, found `tuple[int, int, int, int] | str`
+ colour/plotting/phenomena.py:1538:27 error[invalid-argument-type] Argument to bound method `Axes.imshow` is incorrect: Expected `str | Normalize | None`, found `Unknown | tuple[int, int, int, int] | str`
core (https://github.com/home-assistant/core)
- homeassistant/components/mqtt/diagnostics.py:63:13 error[invalid-argument-type] Argument to bound method `MutableMapping.update` is incorrect: Expected `bool | dict[str, dict[Unknown, Unknown] | dict[str, Any]]`, found `list[dict[str, Any]]`
- homeassistant/components/intesishome/climate.py:409:20 error[invalid-return-type] Return type does not match returned value: expected `HVACMode`, found `None | HVACMode`
+ homeassistant/components/intesishome/climate.py:409:20 error[invalid-return-type] Return type does not match returned value: expected `HVACMode`, found `None | HVACMode | Unknown`
- homeassistant/components/knx/repairs.py:96:9 error[invalid-argument-type] Argument to bound method `IssueRegistry.async_get_or_create` is incorrect: Expected `dict[str, str | int | float | None] | None`, found `dict[str, str]`
- homeassistant/components/satel_integra/config_flow.py:190:21 error[invalid-argument-type] Argument to bound method `SatelConfigFlow.test_connection` is incorrect: Expected `int`, found `None | Any`
+ homeassistant/components/satel_integra/config_flow.py:190:21 error[invalid-argument-type] Argument to bound method `SatelConfigFlow.test_connection` is incorrect: Expected `int`, found `Unknown | None`
- homeassistant/components/uk_transport/sensor.py:212:17 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["atcocode", "locality", "stop_name", "request_time"]` and value of type `Unknown | None` on object of type `dict[str, list[Unknown]]`
+ homeassistant/components/uk_transport/sensor.py:212:17 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["atcocode", "locality", "stop_name", "request_time"]` and value of type `Unknown | None` on object of type `dict[str, list[Unknown] | list[dict[str, Unknown]]]`
dd-trace-py (https://github.com/DataDog/dd-trace-py)
- ddtrace/contrib/internal/grpc/client_interceptor.py:200:27 error[invalid-argument-type] Argument to function `is_otlp_export` is incorrect: Expected `tuple[Unknown, ...]`, found `list[Unknown]`
+ ddtrace/contrib/internal/grpc/client_interceptor.py:200:27 error[invalid-argument-type] Argument to function `is_otlp_export` is incorrect: Expected `tuple[Unknown, ...]`, found `list[tuple[str | Unknown, str | Unknown]] | list[Unknown]`
- ddtrace/contrib/internal/psycopg/connection.py:83:9 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
- ddtrace/vendor/ply/yacc.py:618:105 error[unresolved-attribute] Attribute `type` is not defined on `YaccSymbol & ~AlwaysFalsy` in union `(Unknown & ~AlwaysFalsy) | (YaccSymbol & ~AlwaysFalsy)`
+ ddtrace/vendor/ply/yacc.py:618:105 error[unresolved-attribute] Attribute `type` is not defined on `YaccSymbol & ~AlwaysFalsy` in union `(Unknown & ~AlwaysFalsy) | Divergent | (YaccSymbol & ~AlwaysFalsy)`
- ddtrace/vendor/ply/yacc.py:632:45 error[unresolved-attribute] Attribute `type` is not defined on `None`, `YaccSymbol` in union `None | (Unknown & ~AlwaysFalsy) | YaccSymbol`
+ ddtrace/vendor/ply/yacc.py:632:45 error[unresolved-attribute] Attribute `type` is not defined on `None`, `YaccSymbol` in union `None | (Unknown & ~AlwaysFalsy) | Divergent | YaccSymbol`
- ddtrace/vendor/ply/yacc.py:677:25 error[invalid-assignment] Object of type `Unknown` is not assignable to attribute `lexpos` on type `None | (Unknown & ~AlwaysFalsy) | YaccSymbol`
+ ddtrace/vendor/ply/yacc.py:677:25 error[invalid-assignment] Object of type `Divergent` is not assignable to attribute `lexpos` on type `None | (Unknown & ~AlwaysFalsy) | Divergent | YaccSymbol`
- ddtrace/vendor/ply/yacc.py:950:20 error[unresolved-attribute] Attribute `type` is not defined on `None`, `YaccSymbol` in union `None | (Unknown & ~AlwaysFalsy) | YaccSymbol`
+ ddtrace/vendor/ply/yacc.py:950:20 error[unresolved-attribute] Attribute `type` is not defined on `None`, `YaccSymbol` in union `None | (Unknown & ~AlwaysFalsy) | Divergent | YaccSymbol`
- ddtrace/vendor/ply/yacc.py:2029:18 error[not-iterable] Object of type `None | list[Unknown]` may not be iterable
+ ddtrace/vendor/ply/yacc.py:2029:18 error[not-iterable] Object of type `None | list[MiniProduction]` may not be iterable
- ddtrace/vendor/ply/yacc.py:2863:22 error[not-iterable] Object of type `Unknown | None | list[Unknown]` may not be iterable
+ ddtrace/vendor/ply/yacc.py:2863:22 error[not-iterable] Object of type `Unknown | None | list[MiniProduction]` may not be iterable
+ ddtrace/vendor/psutil/setup.py:306:9 error[invalid-argument-type] Argument to `Extension.__init__` is incorrect: Expected `list[tuple[str, str | None]] | None`, found `list[tuple[str, int] | tuple[str, str] | tuple[str, Unknown] | tuple[str, None]]`
+ tests/appsec/iast/aspects/test_template_string_aspect.py:1149:53 error[invalid-argument-type] Argument to function `template_string_aspect` is incorrect: Expected `list[Any]`, found `str | tuple[Unknown, str, None, str]`
- tests/ci_visibility/api_client/test_ci_visibility_api_client.py:634:21 error[invalid-argument-type] Argument to `EVPProxyTestVisibilityAPIClient.__init__` is incorrect: Expected `dict[str, str | dict[str, str]]`, found `dict[str, str]`
+ tests/integration/test_sampling.py:341:16 error[unsupported-operator] Operator `>` is not supported between objects of type `int | float | None` and `Literal[0]`
- tests/llmobs/test_utils.py:351:17 error[invalid-argument-type] Argument to function `_annotate_llmobs_span_data` is incorrect: Expected `list[Message] | None`, found `list[dict[str, str]]`
+ tests/llmobs/test_utils.py:351:17 error[invalid-argument-type] Argument to function `_annotate_llmobs_span_data` is incorrect: Expected `list[Message] | None`, found `list[Message | dict[str, str]]`
+ tests/telemetry/test_telemetry.py:442:42 error[not-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
+ tests/telemetry/test_telemetry.py:448:16 error[not-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
+ tests/tracer/test_propagation.py:1574:1 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
+ tests/tracer/test_propagation.py:1580:1 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
discord.py (https://github.com/Rapptz/discord.py)
- discord/client.py:727:59 error[invalid-argument-type] Argument to bound method `DiscordWebSocket.from_client` is incorrect: Expected `bool`, found `int | None`
+ discord/client.py:727:59 error[invalid-argument-type] Argument to bound method `DiscordWebSocket.from_client` is incorrect: Expected `bool`, found `int | None | str | URL`
- discord/client.py:727:59 error[invalid-argument-type] Argument to bound method `DiscordWebSocket.from_client` is incorrect: Expected `bool`, found `int | None`
+ discord/client.py:727:59 error[invalid-argument-type] Argument to bound method `DiscordWebSocket.from_client` is incorrect: Expected `int | None`, found `int | None | str | URL`
+ discord/components.py:923:25 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ discord/http.py:274:44 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
dragonchain (https://github.com/dragonchain/dragonchain)
- dragonchain/lib/database/redisearch.py:466:58 error[invalid-argument-type] Argument to bound method `dict.get` is incorrect: Expected `str`, found `Unknown | None`
flake8 (https://github.com/pycqa/flake8)
+ src/flake8/processor.py:308:21 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
ibis (https://github.com/ibis-project/ibis)
+ ibis/backends/clickhouse/tests/conftest.py:94:9 error[unresolved-attribute] Object of type `Mapping[_KT@Mapping, _VT_co@Mapping]` has no attribute `setdefault`
- ibis/backends/pyspark/datatypes.py:33:1 error[invalid-assignment] Invalid subscript assignment with key of type `<class 'JSON'>` and value of type `Unknown` on object of type `dict[<class 'Binary'> | <class 'Boolean'> | <class 'Int8'> | ... omitted 9 union elements, Unknown]`
- ibis/backends/singlestoredb/__init__.py:949:27 error[invalid-argument-type] Argument is incorrect: Expected `FrozenOrderedDict[str, DataType]`, found `dict[Unknown, Unknown]`
+ ibis/backends/singlestoredb/__init__.py:949:27 error[invalid-argument-type] Argument is incorrect: Expected `FrozenOrderedDict[str, DataType]`, found `dict[Any, DataType | Unknown]`
ignite (https://github.com/pytorch/ignite)
- examples/notebooks/FashionMNIST.ipynb:cell 20:6:54 error[invalid-argument-type] Argument to function `create_supervised_evaluator` is incorrect: Expected `dict[str, Metric] | None`, found `dict[str, Accuracy | Loss | ConfusionMatrix]`
- examples/mnist/mnist_with_clearml_logger.py:89:58 error[invalid-argument-type] Argument to function `create_supervised_evaluator` is incorrect: Expected `dict[str, Metric] | None`, found `dict[str, Accuracy | Loss]`
- examples/mnist/mnist_with_neptune_logger.py:90:63 error[invalid-argument-type] Argument to function `create_supervised_evaluator` is incorrect: Expected `dict[str, Metric] | None`, found `dict[str, Accuracy | Loss]`
jax (https://github.com/google/jax)
- jax/_src/interpreters/partial_eval.py:1210:10 error[invalid-return-type] Return type does not match returned value: expected `tuple[JaxprEqn, JaxprEqn, Sequence[bool], Sequence[bool], list[Var]]`, found `tuple[JaxprEqn, JaxprEqn, Sequence[bool], Sequence[bool], list[Var | Literal]]`
+ jax/experimental/mosaic/gpu/layout_inference.py:1992:3 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
manticore (https://github.com/trailofbits/manticore)
+ scripts/stats.py:74:20 error[invalid-argument-type] Argument to `set.__init__` is incorrect: Expected `Iterable[Unknown]`, found `None | Unknown`
+ scripts/stats.py:89:35 error[invalid-argument-type] Argument to `set.__init__` is incorrect: Expected `Iterable[Unknown]`, found `None | Unknown`
+ manticore/native/cpu/x86.py:1041:32 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ manticore/platforms/decree.py:379:35 error[invalid-argument-type] Argument to bound method `list.index` is incorrect: Expected `Socket`, found `None`
+ manticore/platforms/decree.py:393:9 error[invalid-assignment] Invalid subscript assignment with key of type `Unknown` and value of type `None` on object of type `list[Socket]`
- tests/wasm/json2mc.py:159:65 error[invalid-argument-type] Method `__getitem__` of type `Overload[(i: SupportsIndex, /) -> Unknown, (s: slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> list[Unknown]]` cannot be called with key of type `None` on object of type `list[Unknown]`
+ tests/wasm/json2mc.py:159:65 error[invalid-argument-type] Method `__getitem__` of type `Overload[(i: SupportsIndex, /) -> Module, (s: slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> list[Module]]` cannot be called with key of type `None` on object of type `list[Module]`
materialize (https://github.com/MaterializeInc/materialize)
- misc/python/materialize/checks/scenarios_upgrade.py:645:17 error[invalid-argument-type] Argument to bound method `list.extend` is incorrect: Expected `Iterable[StartMz | Initialize | Manipulate | Validate]`, found `list[Action]`
- misc/python/materialize/checks/scenarios_upgrade.py:838:21 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `StartMz | Initialize`, found `Validate`
+ misc/python/materialize/cli/lint.py:113:13 error[invalid-argument-type] Argument to function `run_parallel` is incorrect: Expected `list[tuple[str, list[str] | (() -> tuple[bool, str])]]`, found `list[tuple[str, list[str]]] | list[tuple[str, list[str] | (() -> tuple[bool, str])]]`
+ misc/python/materialize/parallel_workload/parallel_workload.py:373:53 error[unresolved-attribute] Attribute `mz_service` is not defined on `None` in union `Executor | None`
meson (https://github.com/mesonbuild/meson)
- mesonbuild/backend/ninjabackend.py:3861:22 error[unsupported-operator] Operator `+` is not supported between objects of type `list[Unknown]` and `ImmutableListProtocol[str]`
+ mesonbuild/backend/ninjabackend.py:3861:22 error[unsupported-operator] Operator `+` is not supported between objects of type `list[Unknown | str]` and `ImmutableListProtocol[str]`
- mesonbuild/interpreter/interpreter.py:2599:16 error[invalid-return-type] Return type does not match returned value: expected `Data`, found `list[Unknown]`
- mesonbuild/modules/codegen.py:186:13 error[invalid-argument-type] Argument to `CustomTarget.__init__` is incorrect: Expected `list[str]`, found `list[LiteralString] | list[str]`
- mesonbuild/modules/hotdoc.py:249:20 error[invalid-return-type] Return type does not match returned value: expected `File | CustomTarget | CustomTargetIndex`, found `list[Unknown]`
- mesonbuild/scripts/symbolextractor.py:247:20 error[invalid-return-type] Return type does not match returned value: expected `tuple[list[str], str]`, found `tuple[list[Unknown], None]`
- unittests/optiontests.py:189:64 error[invalid-argument-type] Argument to bound method `OptionStore.initialize_from_subproject_call` is incorrect: Expected `dict[OptionKey, str | int | list[str]]`, found `dict[OptionKey, str]`
- unittests/optiontests.py:268:61 error[invalid-argument-type] Argument to bound method `OptionStore.initialize_from_top_level_project_call` is incorrect: Expected `dict[OptionKey, str | int | list[str]]`, found `dict[OptionKey, str]`
- unittests/optiontests.py:412:60 error[invalid-argument-type] Argument to bound method `OptionStore.initialize_from_subproject_call` is incorrect: Expected `dict[OptionKey, str | int | list[str]]`, found `dict[OptionKey, str]`
mongo-python-driver (https://github.com/mongodb/mongo-python-driver)
- pymongo/asynchronous/client_bulk.py:532:17 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["comment"]` and value of type `str & ~AlwaysFalsy` on object of type `dict[str, int]`
- pymongo/asynchronous/client_bulk.py:706:13 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["writeConcern"]` and value of type `dict[str, int]` on object of type `dict[str, int]`
- pymongo/synchronous/client_bulk.py:530:17 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["comment"]` and value of type `str & ~AlwaysFalsy` on object of type `dict[str, int]`
- pymongo/synchronous/client_bulk.py:706:17 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["comment"]` and value of type `str & ~AlwaysFalsy` on object of type `dict[str, int]`
mypy (https://github.com/python/mypy)
+ mypyc/annotate.py:171:9 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
+ mypyc/annotate.py:179:34 error[invalid-argument-type] Argument to `AnnotatedSource.__init__` is incorrect: Expected `dict[int, list[Annotation]]`, found `dict[Unknown | str, Unknown] | dict[int, list[Annotation]]`
- mypy/strconv.py:183:29 error[invalid-argument-type] Argument to bound method `list.insert` is incorrect: Expected `str | list[Statement]`, found `tuple[Literal["BaseTypeExpr"], list[Expression] & ~AlwaysFalsy]`
openlibrary (https://github.com/internetarchive/openlibrary)
+ openlibrary/catalog/marc/tests/test_marc.py:11:13 error[unresolved-attribute] Attribute `append` is not defined on `None` in union `None | Unknown`
+ openlibrary/plugins/upstream/models.py:265:37 error[invalid-argument-type] Argument to function `is_loaned_out` is incorrect: Expected `str`, found `str | Any | None`
+ openlibrary/plugins/upstream/models.py:341:30 error[not-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
optuna (https://github.com/optuna/optuna)
- tests/visualization_tests/test_contour.py:73:13 error[invalid-argument-type] Argument to function `create_trial` is incorrect: Expected `dict[str, BaseDistribution] | None`, found `dict[str, FloatDistribution | CategoricalDistribution]`
- tests/visualization_tests/test_contour.py:80:13 error[invalid-argument-type] Argument to function `create_trial` is incorrect: Expected `dict[str, BaseDistribution] | None`, found `dict[str, FloatDistribution | CategoricalDistribution]`
- tests/visualization_tests/test_contour.py:123:13 error[invalid-argument-type] Argument to function `create_trial` is incorrect: Expected `dict[str, BaseDistribution] | None`, found `dict[str, FloatDistribution | CategoricalDistribution]`
- tests/visualization_tests/test_rank.py:54:68 error[invalid-argument-type] Argument to function `create_trial` is incorrect: Expected `dict[str, BaseDistribution] | None`, found `dict[str, FloatDistribution | CategoricalDistribution]`
- tests/visualization_tests/test_rank.py:71:13 error[invalid-argument-type] Argument to function `create_trial` is incorrect: Expected `dict[str, BaseDistribution] | None`, found `dict[str, FloatDistribution | CategoricalDistribution]`
- tests/visualization_tests/test_rank.py:78:13 error[invalid-argument-type] Argument to function `create_trial` is incorrect: Expected `dict[str, BaseDistribution] | None`, found `dict[str, FloatDistribution | CategoricalDistribution]`
- tests/visualization_tests/test_slice.py:48:68 error[invalid-argument-type] Argument to function `create_trial` is incorrect: Expected `dict[str, BaseDistribution] | None`, found `dict[str, FloatDistribution | CategoricalDistribution]`
paasta (https://github.com/yelp/paasta)
- paasta_tools/flink_tools.py:592:12 error[invalid-return-type] Return type does not match returned value: expected `FlinkJobDetailsDict`, found `dict[str, Unknown | PodCounts | None | JobCounts | bool]`
pandas (https://github.com/pandas-dev/pandas)
- pandas/core/indexes/base.py:5691:30 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `Self@append`, found `(Index & ~Top[list[Unknown]] & ~tuple[object, ...]) | (Sequence[Index] & ~Top[list[Unknown]] & ~tuple[object, ...])`
- pandas/core/indexes/multi.py:4803:31 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `tuple[Any, ...]`, found `list[Unknown]`
+ pandas/core/indexes/multi.py:4803:31 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `tuple[Any, ...]`, found `list[object]`
+ pandas/io/formats/printing.py:450:39 error[invalid-argument-type] Argument to function `_justify` is incorrect: Expected `list[Sequence[str]]`, found `list[Sequence[str]] | list[Unknown] | list[str]`
+ pandas/io/formats/printing.py:457:25 error[unresolved-attribute] Attribute `rjust` is not defined on `Sequence[str]` in union `Sequence[str] | Unknown`
- pandas/io/formats/printing.py:482:20 error[unsupported-operator] Operator `+` is not supported between objects of type `Unknown | tuple[str, ...] | str` and `LiteralString`
+ pandas/io/formats/printing.py:482:20 error[unsupported-operator] Operator `+` is not supported between objects of type `Sequence[str] | Unknown` and `LiteralString`
- pandas/tests/io/formats/style/test_to_latex.py:495:37 error[invalid-argument-type] Argument to function `_parse_latex_cell_styles` is incorrect: Expected `list[tuple[str, str | int | float]]`, found `list[tuple[str, str]]`
+ pandas/tests/io/formats/style/test_to_latex.py:495:37 error[invalid-argument-type] Argument to function `_parse_latex_cell_styles` is incorrect: Expected `list[tuple[str, str | int | float]]`, found `list[tuple[str, str]] | list[tuple[str, str | int | float]]`
- pandas/tests/io/test_pickle.py:366:37 error[invalid-argument-type] Argument is incorrect: Expected `Literal["infer", "gzip", "bz2", "zip", "xz", "zstd", "tar"] | dict[str, Any] | None`, found `str | None`
+ pandas/tests/io/test_pickle.py:366:37 error[invalid-argument-type] Argument is incorrect: Expected `Literal["infer", "gzip", "bz2", "zip", "xz", "zstd", "tar"] | dict[str, Any] | None`, found `Unknown | str | None`
+ pandas/tests/io/test_sql.py:868:45 error[invalid-argument-type] Argument to function `create_and_load_types_sqlite3` is incorrect: Expected `list[dict[Unknown, Unknown]]`, found `list[tuple[Unknown, ...] | dict[Unknown, Unknown]]`
+ pandas/tests/io/test_stata.py:1011:9 error[invalid-assignment] Invalid subscript assignment with key of type `Literal[3]` and value of type `datetime` on object of type `list[NaTType]`
+ pandas/tests/io/test_stata.py:1013:9 error[invalid-assignment] Invalid subscript assignment with key of type `Literal[5]` and value of type `datetime` on object of type `list[NaTType]`
+ pandas/tests/io/test_stata.py:1016:9 error[invalid-assignment] Invalid subscript assignment with key of type `Literal[5]` and value of type `datetime` on object of type `list[NaTType]`
+ pandas/tests/io/test_stata.py:1016:26 error[invalid-assignment] Invalid subscript assignment with key of type `Literal[6]` and value of type `datetime` on object of type `list[NaTType]`
+ pandas/tests/io/test_stata.py:1018:26 error[invalid-assignment] Invalid subscript assignment with key of type `Literal[6]` and value of type `datetime` on object of type `list[NaTType]`
- pandas/tests/io/test_stata.py:2472:33 error[invalid-argument-type] Argument to `StataWriter.__init__` is incorrect: Expected `dict[Hashable, dict[int | float, str]] | None`, found `dict[str, dict[int, str]]`
+ pandas/tests/io/test_stata.py:2472:33 error[invalid-argument-type] Argument to `StataWriter.__init__` is incorrect: Expected `dict[Hashable, dict[int | float, str]] | None`, found `dict[Hashable, dict[int | float, str] | dict[int, str]]`
ppb-vector (https://github.com/ppb/ppb-vector)
+ tests/test_rotate.py:45:5 error[unsupported-operator] Operator `+` is not supported between objects of type `Unknown | str | int | float` and `Literal[90]`
prefect (https://github.com/PrefectHQ/prefect)
- src/integrations/prefect-azure/tests/test_aci_worker.py:104:60 error[invalid-argument-type] Argument is incorrect: Expected `list[str] | None`, found `str | dict[Unknown, Unknown] | Unknown | ... omitted 5 union elements`
+ src/integrations/prefect-azure/tests/test_aci_worker.py:104:60 error[invalid-argument-type] Argument is incorrect: Expected `list[str] | None`, found `Any | str | dict[Unknown, Unknown] | ... omitted 5 union elements`
- src/integrations/prefect-dbt/tests/core/test_orchestrator_cache.py:309:55 error[invalid-argument-type] Argument to function `_hash_macro_dependencies` is incorrect: Expected `dict[str, str | None]`, found `dict[str, str]`
- src/integrations/prefect-dbt/tests/core/test_orchestrator_cache.py:312:55 error[invalid-argument-type] Argument to function `_hash_macro_dependencies` is incorrect: Expected `dict[str, str | None]`, found `dict[str, str]`
- src/integrations/prefect-dbt/tests/core/test_orchestrator_integration.py:449:39 error[invalid-argument-type] Argument to `PrefectDbtOrchestrator.__init__` is incorrect: Expected `int | None`, found `PrefectDbtSettings | Unknown | ExecutionMode | ... omitted 4 union elements`
+ src/integrations/prefect-dbt/tests/core/test_orchestrator_integration.py:449:39 error[invalid-argument-type] Argument to `PrefectDbtOrchestrator.__init__` is incorrect: Expected `int | None`, found `Unknown | PrefectDbtSettings | ExecutionMode | ... omitted 4 union elements`
- src/integrations/prefect-dbt/tests/core/test_orchestrator_per_node.py:123:39 error[invalid-argument-type] Argument to `PrefectDbtOrchestrator.__init__` is incorrect: Expected `int`, found `MagicMock | Path | Unknown | ExecutionMode | <class 'ThreadPoolTaskRunner'>`
+ src/integrations/prefect-dbt/tests/core/test_orchestrator_per_node.py:123:39 error[invalid-argument-type] Argument to `PrefectDbtOrchestrator.__init__` is incorrect: Expected `int`, found `Unknown | MagicMock | Path | ExecutionMode | <class 'ThreadPoolTaskRunner'>`
- src/integrations/prefect-dbt/tests/core/test_orchestrator_test_strategies.py:129:39 error[invalid-argument-type] Argument to `PrefectDbtOrchestrator.__init__` is incorrect: Expected `CacheConfig | None`, found `MagicMock | Path | Unknown | ExecutionMode`
+ src/integrations/prefect-dbt/tests/core/test_orchestrator_test_strategies.py:129:39 error[invalid-argument-type] Argument to `PrefectDbtOrchestrator.__init__` is incorrect: Expected `CacheConfig | None`, found `Unknown | MagicMock | Path | ExecutionMode`
- src/integrations/prefect-dbt/tests/core/test_orchestrator_test_strategies.py:129:39 error[invalid-argument-type] Argument to `PrefectDbtOrchestrator.__init__` is incorrect: Expected `int | None`, found `MagicMock | Path | Unknown | ExecutionMode`
+ src/integrations/prefect-dbt/tests/core/test_orchestrator_test_strategies.py:129:39 error[invalid-argument-type] Argument to `PrefectDbtOrchestrator.__init__` is incorrect: Expected `int | None`, found `Unknown | MagicMock | Path | ExecutionMode`
+ src/integrations/prefect-github/prefect_github/mutations.py:271:48 error[invalid-argument-type] Argument to function `_subset_return_fields` is incorrect: Expected `dict[tuple[Unknown, ...], tuple[Unknown, ...]]`, found `dict[Unknown | str, Unknown]`
+ src/integrations/prefect-github/prefect_github/mutations.py:391:48 error[invalid-argument-type] Argument to function `_subset_return_fields` is incorrect: Expected `dict[tuple[Unknown, ...], tuple[Unknown, ...]]`, found `dict[Unknown | str, Unknown]`
- src/integrations/prefect-snowflake/tests/experimental/test_spcs_worker.py:135:58 error[invalid-argument-type] Argument is incorrect: Expected `list[str]`, found `str | dict[Unknown, Unknown] | Unknown | ... omitted 3 union elements`
+ src/integrations/prefect-snowflake/tests/experimental/test_spcs_worker.py:135:58 error[invalid-argument-type] Argument is incorrect: Expected `list[str]`, found `Any | str | dict[Unknown, Unknown] | ... omitted 3 union elements`
pwndbg (https://github.com/pwndbg/pwndbg)
+ pwndbg/dbg_mod/gdb/__init__.py:1880:28 error[unsupported-operator] Operator `-` is not supported between objects of type `int | Unknown` and `None | int`
- pwndbg/libc/facade.py:240:16 error[invalid-return-type] Return type does not match returned value: expected `tuple[Path, Path, LibcProvider]`, found `tuple[Path, Path, <module 'pwndbg.libc.unknown'>]`
pycryptodome (https://github.com/Legrandin/pycryptodome)
+ lib/Crypto/SelfTest/Hash/test_TupleHash.py:266:33 error[invalid-argument-type] Argument to function `tobytes` is incorrect: Expected `bytes | str`, found `str | None | Unknown`
+ lib/Crypto/SelfTest/Hash/test_TupleHash.py:267:35 error[unresolved-attribute] Attribute `replace` is not defined on `None` in union `str | None | Unknown`
- lib/Crypto/SelfTest/Hash/test_TupleHash.py:276:30 error[invalid-argument-type] Argument to function `new` is incorrect: Expected `int`, found `str | Unknown`
+ lib/Crypto/SelfTest/Hash/test_TupleHash.py:276:30 error[invalid-argument-type] Argument to function `new` is incorrect: Expected `int`, found `str | None | Unknown`
- lib/Crypto/SelfTest/Protocol/test_KDF.py:422:9 error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `data` of type `tuple[tuple[str, str, int, int, int, str], tuple[str, str, int, int, int, str], tuple[str, str, int, int, int, str], tuple[str, str, int, int, int, str]]`
+ lib/Crypto/SelfTest/Protocol/test_KDF.py:422:9 error[invalid-assignment] Object of type `list[TestVector]` is not assignable to attribute `data` of type `tuple[tuple[str, str, int, int, int, str], tuple[str, str, int, int, int, str], tuple[str, str, int, int, int, str], tuple[str, str, int, int, int, str]]`
- lib/Crypto/SelfTest/Protocol/test_KDF.py:428:39 error[unresolved-attribute] Attribute `S` is not defined on `tuple[str, str, int, int, int, str]` in union `tuple[str, str, int, int, int, str] | Unknown`
+ lib/Crypto/SelfTest/Protocol/test_KDF.py:428:39 error[unresolved-attribute] Object of type `tuple[str, str, int, int, int, str] | TestVector` has no attribute `S`
- lib/Crypto/SelfTest/Protocol/test_KDF.py:428:45 error[unresolved-attribute] Attribute `dkLen` is not defined on `tuple[str, str, int, int, int, str]` in union `tuple[str, str, int, int, int, str] | Unknown`
+ lib/Crypto/SelfTest/Protocol/test_KDF.py:428:45 error[unresolved-attribute] Object of type `tuple[str, str, int, int, int, str] | TestVector` has no attribute `dkLen`
- lib/Crypto/SelfTest/Protocol/test_KDF.py:428:61 error[unresolved-attribute] Attribute `r` is not defined on `tuple[str, str, int, int, int, str]` in union `tuple[str, str, int, int, int, str] | Unknown`
+ lib/Crypto/SelfTest/Protocol/test_KDF.py:428:61 error[unresolved-attribute] Object of type `tuple[str, str, int, int, int, str] | TestVector` has no attribute `r`
+ lib/Crypto/SelfTest/Signature/test_eddsa.py:412:44 error[invalid-argument-type] Argument to function `import_private_key` is incorrect: Expected `bytes`, found `bytes | None | <module 'Crypto.Hash.SHA512'> | <module 'Crypto.Hash.SHAKE256'>`
+ lib/Crypto/Util/asn1.py:581:25 error[unsupported-operator] Operator `+=` is not supported between objects of type `Literal[b""]` and `Unknown | int`
pyodide (https://github.com/pyodide/pyodide)
- src/tests/test_jsproxy.py:1839:14 error[invalid-argument-type] Argument to bound method `list.remove` is incorrect: Expected `int`, found `list[Unknown]`
pyppeteer (https://github.com/pyppeteer/pyppeteer)
+ pyppeteer/frame_manager.py:488:62 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ pyppeteer/frame_manager.py:501:58 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
pywin32 (https://github.com/mhammond/pywin32)
- win32/Demos/security/explicit_entries.py:165:26 error[invalid-argument-type] Argument to bound method `PyACL.SetEntriesInAcl` is incorrect: Expected `tuple[dict[str, int | dict[str, int | PySID]], ...]`, found `list[Unknown]`
+ win32/Demos/security/explicit_entries.py:165:26 error[invalid-argument-type] Argument to bound method `PyACL.SetEntriesInAcl` is incorrect: Expected `tuple[dict[str, int | dict[str, int | PySID]], ...]`, found `list[dict[str, dict[Unknown, Unknown] | Unknown | int]]`
rotki (https://github.com/rotki/rotki)
+ rotkehlchen/chain/ethereum/modules/convex/decoder.py:271:9 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
+ rotkehlchen/chain/evm/accounting/aggregator.py:115:13 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
- rotkehlchen/tests/utils/ethereum.py:464:37 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `DBHandler | EvmNodeInquirer | EvmTransactions`, found `BeaconChain`
- rotkehlchen/tests/utils/ethereum.py:469:65 error[invalid-argument-type] Argument to `BaseTransactionDecoder.__init__` is incorrect: Expected `Premium | None`, found `DBHandler | EvmNodeInquirer | EvmTransactions`
+ rotkehlchen/tests/utils/ethereum.py:469:65 error[invalid-argument-type] Argument to `BaseTransactionDecoder.__init__` is incorrect: Expected `Premium | None`, found `BeaconChain | DBHandler | EvmNodeInquirer | EvmTransactions | Unknown`
- rotkehlchen/tests/utils/ethereum.py:469:65 error[invalid-argument-type] Argument to `GnosisTransactionDecoder.__init__` is incorrect: Expected `DBHandler`, found `DBHandler | EvmNodeInquirer | EvmTransactions`
+ rotkehlchen/tests/utils/ethereum.py:469:65 error[invalid-argument-type] Argument to `GnosisTransactionDecoder.__init__` is incorrect: Expected `DBHandler`, found `BeaconChain | DBHandler | EvmNodeInquirer | EvmTransactions | Unknown`
schemathesis (https://github.com/schemathesis/schemathesis)
- src/schemathesis/pytest/plugin.py:315:26 error[invalid-return-type] Function can implicitly return `None`, which is not assignable to return type `list[Unknown]`
+ src/schemathesis/pytest/plugin.py:315:26 error[invalid-return-type] Function always implicitly returns `None`, which is not assignable to return type `list[Unknown]`
scikit-learn (https://github.com/scikit-learn/scikit-learn)
- sklearn/linear_model/tests/test_ridge.py:1111:63 error[invalid-argument-type] Argument to bound method `list.index` is incorrect: Expected `int | float`, found `None | Unknown | int | float`
- sklearn/neighbors/_classification.py:299:57 error[unresolved-attribute] Attribute `dtype` is not defined on `list[Unknown]` in union `Unknown | list[Unknown]`
+ sklearn/neighbors/_classification.py:299:57 error[unresolved-attribute] Attribute `dtype` is not defined on `list[ndarray[tuple[Any, ...], dtype[Unknown]]]` in union `ndarray[tuple[Any, ...], dtype[Unknown]] | Any | list[ndarray[tuple[Any, ...], dtype[Unknown]]]`
- sklearn/preprocessing/tests/test_data.py:1612:25 error[invalid-argument-type] Method `__getitem__` of type `Overload[(i: SupportsIndex, /) -> Unknown, (s: slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> list[Unknown]]` cannot be called with key of type `tuple[slice[None, None, None], slice[Literal[1], None, None]]` on object of type `list[Unknown]`
+ sklearn/preprocessing/tests/test_data.py:1612:25 error[invalid-argument-type] Method `__getitem__` of type `Overload[(i: SupportsIndex, /) -> list[int] | Unknown, (s: slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> list[list[int] | Unknown]]` cannot be called with key of type `tuple[slice[None, None, None], slice[Literal[1], None, None]]` on object of type `list[list[int] | Unknown]`
- sklearn/tree/_classes.py:539:24 error[unresolved-attribute] Attribute `take` is not defined on `list[Unknown]` in union `list[Unknown] | Unknown`
+ sklearn/tree/_classes.py:539:24 error[unresolved-attribute] Attribute `take` is not defined on `list[ndarray[tuple[Any, ...], dtype[Unknown]]]` in union `list[ndarray[tuple[Any, ...], dtype[Unknown]]] | ndarray[tuple[Any, ...], dtype[Unknown]] | Any`
scipy (https://github.com/scipy/scipy)
- scipy/_lib/_bunch.py:211:9 error[invalid-assignment] Invalid subscript assignment with key of type `str` and value of type `property` on object of type `dict[str, str | tuple[str, ...] | ([_T_co](self: type[tuple[Unknown, ...]], iterable: Iterable[Unknown] = ..., /) -> Unknown) | ... omitted 4 union elements]`
- scipy/io/matlab/tests/test_mio5_utils.py:44:27 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `tuple[str, Unknown] | tuple[str, dtype[float64]]`, found `tuple[Literal["padding"], Literal["u1"], int & ~AlwaysFalsy]`
- scipy/odr/_odrpack.py:880:32 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `tuple[Unknown | int, int, Unknown]`, found `tuple[int, Unknown]`
- scipy/odr/_odrpack.py:886:32 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `tuple[Unknown | int, Unknown | int, Unknown]`, found `tuple[Unknown]`
- scipy/odr/_odrpack.py:888:32 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `tuple[Unknown | int, int, Unknown]`, found `tuple[Unknown]`
- scipy/optimize/_shgo.py:798:16 error[unsupported-operator] Operator `in` is not supported between objects of type `str` and `str | ndarray[tuple[Any, ...], dtype[Any]] | dict[Unknown, Unknown] | Unknown | None`
+ scipy/optimize/_shgo.py:798:16 error[unsupported-operator] Operator `in` is not supported between objects of type `str` and `Unknown | str | ndarray[tuple[Any, ...], dtype[Any]] | dict[Unknown, Unknown] | None`
- scipy/optimize/_shgo_lib/_complex.py:895:27 error[unresolved-attribute] Attribute `x` is not defined on `list[Unknown]` in union `Unknown | list[Unknown]`
+ scipy/optimize/_shgo_lib/_complex.py:895:27 error[unresolved-attribute] Attribute `x` is not defined on `list[Unknown]` in union `Unknown | Divergent | list[Unknown]`
scrapy (https://github.com/scrapy/scrapy)
+ tests/test_addons.py:83:31 error[unresolved-attribute] Object of type `type` has no attribute `number`
setuptools (https://github.com/pypa/setuptools)
+ setuptools/_vendor/jaraco/context/__init__.py:206:31 error[invalid-argument-type] Argument to function `check_call` is incorrect: Expected `Sequence[str | bytes | PathLike[str] | PathLike[bytes]] | bytes | PathLike[str] | PathLike[bytes]`, found `list[str | None | Unknown]`
- setuptools/_distutils/archive_util.py:96:21 error[no-matching-overload] No overload of bound method `dict.get` matches arguments
- setuptools/_distutils/command/build_ext.py:642:25 error[invalid-argument-type] Argument to bound method `list.extend` is incorrect: Expected `Iterable[Unknown | str]`, found `None | list[Unknown] | Unknown`
+ setuptools/_distutils/command/build_ext.py:642:25 error[invalid-argument-type] Argument to bound method `list.extend` is incorrect: Expected `Iterable[str | Unknown]`, found `None | list[Unknown] | Unknown`
- setuptools/_distutils/text_file.py:242:41 error[unsupported-operator] Operator `+` is not supported between objects of type `int | None | Unknown | Divergent` and `Literal[1]`
+ setuptools/_distutils/text_file.py:242:41 error[unsupported-operator] Operator `+` is not supported between objects of type `int | None | Unknown` and `Literal[1]`
spack (https://github.com/spack/spack)
- lib/spack/spack/cmd/__init__.py:525:20 error[invalid-argument-type] Argument to function `colify` is incorrect: Expected `list[Any]`, found `GeneratorType[Unknown, None, None]`
+ lib/spack/spack/cmd/__init__.py:525:20 error[invalid-argument-type] Argument to function `colify` is incorrect: Expected `list[Any]`, found `GeneratorType[Unknown | str, None, None]`
+ lib/spack/spack/test/cmd/spec.py:116:35 error[invalid-argument-type] Argument to function `sorted` is incorrect: Expected `Iterable[Unknown]`, found `None | Unknown`
- lib/spack/spack/vendor/attr/_compat.py:122:17 error[invalid-argument-type] Argument to bound method `list.extend` is incorrect: Expected `Iterable[int]`, found `list[int | bytes | tuple[Any, ...] | tuple[str, ...] | str]`
sphinx (https://github.com/sphinx-doc/sphinx)
- sphinx/domains/c/_parser.py:407:20 error[invalid-return-type] Return type does not match returned value: expected `ASTExpression`, found `ASTBinOpExpr`
starlette (https://github.com/encode/starlette)
- tests/test_formparsers.py:668:25 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- tests/test_formparsers.py:698:25 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
static-frame (https://github.com/static-frame/static-frame)
- static_frame/test/unit/test_index_hierarchy.py:575:40 error[invalid-argument-type] Argument to bound method `IndexHierarchy.from_tree` is incorrect: Expected `dict[Hashable, Divergent]`, found `dict[str, Index[Any]]`
stone (https://github.com/dropbox/stone)
+ stone/backends/js_types.py:128:13 error[invalid-assignment] Cannot assign to a subscript on an object of type `None`
+ stone/backends/js_types.py:143:28 error[unsupported-operator] Operator `in` is not supported between objects of type `Unknown` and `None | Unknown`
strawberry (https://github.com/strawberry-graphql/strawberry)
+ strawberry/federation/schema.py:171:53 error[invalid-argument-type] Argument to function `create_type` is incorrect: Expected `list[StrawberryField]`, found `list[list[FederationAny] | StrawberryField | Any]`
+ strawberry/printer/printer.py:146:18 error[no-matching-overload] No overload of bound method `str.join` matches arguments
sympy (https://github.com/sympy/sympy)
- sympy/holonomic/tests/test_holonomic.py:465:14 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `int | float`, found `Pi`
- sympy/combinatorics/polyhedron.py:792:23 error[invalid-argument-type] Argument to bound method `list.extend` is incorrect: Expected `Iterable[Permutation]`, found `list[None | Permutation]`
+ sympy/core/mul.py:495:21 error[invalid-assignment] Cannot assign to a subscript on an object of type `None`
+ sympy/core/symbol.py:1020:31 error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `None | Unknown`
+ sympy/core/symbol.py:1026:18 error[not-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
- sympy/integrals/laplace.py:938:29 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `int`, found `Expr`
+ sympy/integrals/manualintegrate.py:1773:44 error[invalid-argument-type] Argument to `PartsRule.__init__` is incorrect: Expected `Symbol`, found `Expr | Unknown`
- sympy/matrices/matrixbase.py:3944:39 error[not-subscriptable] Cannot subscript object of type `T1'return@call_highest_priority` with no `__getitem__` method
- sympy/physics/quantum/operatorset.py:118:34 error[invalid-argument-type] Method `__getitem__` of type `bound method dict[frozenset[<class 'J2Op'> | <class 'JxOp'>] | frozenset[<class 'J2Op'> | <class 'JyOp'>] | frozenset[<class 'J2Op'> | <class 'JzOp'>] | ... omitted 4 union elements, <class 'JxKet'> | <class 'JyKet'> | <class 'JzKet'> | ... omitted 4 union elements].__getitem__(key: frozenset[<class 'J2Op'> | <class 'JxOp'>] | frozenset[<class 'J2Op'> | <class 'JyOp'>] | frozenset[<class 'J2Op'> | <class 'JzOp'>] | ... omitted 4 union elements, /) -> <class 'JxKet'> | <class 'JyKet'> | <class 'JzKet'> | ... omitted 4 union elements` cannot be called with key of type `frozenset[object]` on object of type `dict[frozenset[<class 'J2Op'> | <class 'JxOp'>] | frozenset[<class 'J2Op'> | <class 'JyOp'>] | frozenset[<class 'J2Op'> | <class 'JzOp'>] | ... omitted 4 union elements, <class 'JxKet'> | <class 'JyKet'> | <class 'JzKet'> | ... omitted 4 union elements]`
+ sympy/physics/vector/frame.py:605:33 error[unresolved-attribute] Attribute `_dcm_dict` is not defined on `str` in union `Unknown | str`
+ sympy/polys/distributedmodules.py:398:29 error[no-matching-overload] No overload of `dict.__init__` matches arguments
- sympy/polys/matrices/tests/test_xxm.py:154:23 error[invalid-argument-type] Argument to bound method `list.append` is incorrect: Expected `DDM | SDM | DomainMatrix`, found `DFM | DFM_dummy`
+ sympy/polys/matrices/tests/test_xxm.py:78:16 error[unresolved-attribute] Attribute `cols` is not defined on `DFM`, `DFM_dummy` in union `DFM | DFM_dummy | DDM`
+ sympy/polys/matrices/tests/test_xxm.py:82:31 error[not-subscriptable] Cannot subscript object of type `DFM_dummy` with no `__getitem__` method
+ sympy/polys/matrices/tests/test_xxm.py:200:16 error[unresolved-attribute] Attribute `to_sdm` is not defined on `DFM_dummy` in union `DFM | DFM_dummy | DDM | SDM | DomainMatrix`
- sympy/polys/polyfuncs.py:85:20 error[unsupported-operator] Operator `+` is not supported between objects of type `list[Unknown] | Unknown` and `tuple[list[tuple[Unknown, Unknown]]]`
+ sympy/polys/polyfuncs.py:85:20 error[unsupported-operator] Operator `+` is not supported between objects of type `list[tuple[Unknown, Unknown]] | tuple[Unknown, Unknown]` and `tuple[list[tuple[Unknown, Unknown]]]`
- sympy/polys/tests/test_galoistools.py:49:19 error[invalid-argument-type] Argument to function `gf_crt` is incorrect: Expected `list[MPZ]`, found `list[int]`
+ sympy/polys/tests/test_galoistools.py:49:19 error[invalid-argument-type] Argument to function `gf_crt` is incorrect: Expected `list[MPZ]`, found `list[MPZ | int]`
- sympy/polys/tests/test_galoistools.py:55:32 error[invalid-argument-type] Argument to function `gf_crt2` is incorrect: Expected `list[MPZ]`, found `list[int]`
+ sympy/polys/tests/test_galoistools.py:55:32 error[invalid-argument-type] Argument to function `gf_crt2` is incorrect: Expected `list[MPZ]`, found `list[MPZ | int]`
- sympy/polys/tests/test_galoistools.py:546:22 error[invalid-argument-type] Argument to function `gf_Qbasis` is incorrect: Expected `list[list[MPZ]]`, found `list[list[int]]`
+ sympy/polys/tests/test_galoistools.py:546:22 error[invalid-argument-type] Argument to function `gf_Qbasis` is incorrect: Expected `list[list[MPZ]]`, found `list[list[MPZ] | list[int]]`
+ sympy/printing/mathml.py:216:27 error[invalid-argument-type] Argument to bound method `Element.appendChild` is incorrect: Argument type `Element | str` does not satisfy upper bound `Element | ProcessingInstruction | Comment | Text | DocumentFragment` of type variable `_ElementChildrenPlusFragment`
- sympy/printing/tableform.py:365:18 error[no-matching-overload] No overload of bound method `str.join` matches arguments
- sympy/printing/tableform.py:284:13 error[invalid-assignment] Invalid subscript assignment with key of type `Literal[1]` and value of type `list[Unknown]` on object of type `list[range]`
+ sympy/printing/tableform.py:284:13 error[invalid-assignment] Invalid subscript assignment with key of type `Literal[1]` and value of type `list[str]` on object of type `list[range]`
+ sympy/simplify/gammasimp.py:365:21 error[unsupported-operator] Operator `+=` is not supported between objects of type `list[Unknown]` and `None | Unknown`
+ sympy/simplify/hyperexpand.py:864:18 error[not-iterable] Object of type `None | Unknown` may not be iterable
+ sympy/simplify/hyperexpand.py:1836:27 error[not-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
+ sympy/solvers/ode/hypergeometric.py:199:26 error[unsupported-operator] Operator `+` is not supported between objects of type `Literal[1]` and `Basic`
+ sympy/solvers/ode/hypergeometric.py:203:43 error[unresolved-attribute] Attribute `lhs` is not defined on `BooleanFalse`, `BooleanTrue` in union `Equality | BooleanFalse | BooleanTrue`
+ sympy/solvers/solvers.py:3202:24 error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `None | Unknown`
+ sympy/solvers/solvers.py:3206:42 error[not-iterable] Object of type `None | Unknown` may not be iterable
+ sympy/solvers/solvers.py:3503:9 error[unresolved-attribute] Attribute `append` is not defined on `None` in union `None | Unknown | list[Unknown]`
+ sympy/tensor/array/expressions/from_array_to_matrix.py:420:35 error[unsupported-operator] Operator `*` is not supported between objects of type `Unknown | Expr | MatrixBase | T2'return@call_highest_priority | T1'return@call_highest_priority` and `(MatrixExpr & ~OneArray) | (Basic & MatrixBase & ~OneArray) | (Unknown & MatrixExpr)`
+ sympy/tensor/tensor.py:413:19 error[unresolved-attribute] Attribute `symmetry` is not defined on `int` in union `Unknown | int`
werkzeug (https://github.com/pallets/werkzeug)
- src/werkzeug/test.py:409:20 error[invalid-argument-type] Argument to `EnvironBuilder.__init__` is incorrect: Expected `Authorization | tuple[str, str] | None`, found `str | Any | None | Headers`
+ src/werkzeug/test.py:409:20 error[invalid-argument-type] Argument to `EnvironBuilder.__init__` is incorrect: Expected `Authorization | tuple[str, str] | None`, found `Unknown | str | None | Headers`
- src/werkzeug/test.py:409:20 error[invalid-argument-type] Argument to `EnvironBuilder.__init__` is incorrect: Expected `Mapping[str, Any] | None`, found `str | Any | None | Headers`
+ src/werkzeug/test.py:409:20 error[invalid-argument-type] Argument to `EnvironBuilder.__init__` is incorrect: Expected `Mapping[str, Any] | None`, found `Unknown | str | None | Headers`
- src/werkzeug/test.py:409:20 error[invalid-argument-type] Argument to `EnvironBuilder.__init__` is incorrect: Expected `str | None`, found `str | Any | None | Headers`
xarray (https://github.com/pydata/xarray)
+ xarray/core/dataset.py:2738:59 error[invalid-argument-type] Argument to function `merge_coordinates_without_align` is incorrect: Expected `list[Coordinates]`, found `list[Unknown & DataArrayCoordinates[Unknown]] | list[Coordinates]`
+ xarray/core/variable.py:755:35 error[invalid-argument-type] Argument to `OuterIndexer.__init__` is incorrect: Expected `tuple[int | integer[Any] | slice[Any, Any, Any] | ndarray[Any, dtype[generic[Any]]], ...]`, found `tuple[(Unknown & int) | (Unknown & Top[integer[Any]]) | (Unknown & slice[object, object, object]) | ... omitted 5 union elements, ...]`
zulip (https://github.com/zulip/zulip)
- corporate/lib/stripe.py:5125:13 error[no-matching-overload] No overload of bound method `MutableMapping.update` matches arguments
- corporate/lib/stripe.py:5135:13 error[invalid-assignment] Invalid subscript assignment with key of type `Literal["extra_data"]` and value of type `dict[str, Any] & ~AlwaysFalsy` on object of type `dict[str, RemoteZulipServer | int | datetime]`
+ zerver/lib/streams.py:1151:50 error[unresolved-attribute] Object of type `Stream` has no attribute `realm_id`
+ zerver/lib/streams.py:1165:14 error[unresolved-attribute] Object of type `Stream` has no attribute `id`
+ zerver/lib/streams.py:1170:34 error[unresolved-attribute] Object of type `Stream` has no attribute `realm_id`
+ zerver/lib/streams.py:1174:20 error[unresolved-attribute] Object of type `Stream` has no attribute `id`
+ zerver/lib/streams.py:1175:41 error[unresolved-attribute] Object of type `Stream` has no attribute `id`
- zerver/lib/user_groups.py:757:17 error[unresolved-attribute] Attribute `can_leave_group_id` is not defined on `NamedUserGroup` in union `NamedUserGroup | Unknown`
+ zerver/lib/user_groups.py:757:17 error[unresolved-attribute] Object of type `object` has no attribute `can_leave_group_id`
- zerver/lib/user_groups.py:763:17 error[unresolved-attribute] Attribute `can_mention_group_id` is not defined on `NamedUserGroup` in union `NamedUserGroup | Unknown`
+ zerver/lib/user_groups.py:763:17 error[unresolved-attribute] Object of type `object` has no attribute `can_mention_group_id`22b0dae to
db3943a
Compare
ec85b01 to
755e2ec
Compare
441b537 to
b4ed0f2
Compare
d846470 to
61ab8ef
Compare
dd39cd9 to
e8205a9
Compare
|
fb4c442 to
959bd84
Compare
959bd84 to
3aaf9ed
Compare
ibraheemdev
added a commit
that referenced
this pull request
Apr 23, 2026
Improves #22633 to infer the use of lambda parameters in a lambda body with type context, e.g., ```py x: Callable[[str], str] = lambda x: reveal_type(x) # revealed: str reveal_type(x) # revealed: (x: str) -> str ``` Unlike other definitions, lambda parameter types cannot be determined purely syntactically in semantic indexing. Instead, they depend on the inferred type of the lambda to access its parameter types. Unfortunately, this makes lambda inference cyclic, as the body of the lambda depends on the outer lambda type, and there is no obvious way of splitting out inference of the lambda parameter types from its return type. To avoid initiating cycles on the entire scope containing the lambda, this PR introduces a new inference query — statement-level inference. Statements are a minimal unit of code that encapsulate any internal type context. This makes them very useful to infer a given sub-expression "naturally" without having to provide any external type context. There are other places where we currently rely on scope-level inference for this purpose (e.g., see `infer_complete_scope_types`, the current implementation of #23761, and the discussion in astral-sh/ty#3124). Note that statement-level inference is not perfectly fine-grained, e.g., the test expression of an `if` statement does not require external type context and is independent from its body, so statement-level inference may lead to unnecessarily large cycles, but having the unit of code being generalized to an AST structure allows us to avoid the need for such special cases, but this can always change in the future. Additionally, many statements are simply wrappers around definitions or standalone expressions, so we can avoid extra salsa allocations in the common case.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.