[RFC] Remove ClassType <: SelfType subtyping rule#2658
Open
fangyi-zhou wants to merge 17 commits intofacebook:mainfrom
Open
[RFC] Remove ClassType <: SelfType subtyping rule#2658fangyi-zhou wants to merge 17 commits intofacebook:mainfrom
fangyi-zhou wants to merge 17 commits intofacebook:mainfrom
Conversation
…nversion Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When applying a decorator to a method, the method's `self` parameter has type `Self@C` (SelfType), but decorators expect `C` (ClassType). This caused false positive bad-argument-type errors for decorators like `cache_on_self(fn: Callable[[C], int])`. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The overload consistency check triggered variance computation on the defining class, which needed class fields (including the __init__ being resolved), causing a cycle that resolved to Any(Implicit). Fix by skipping the self/cls parameter in the consistency check input signature comparison, and converting SelfType to ClassType in constructor return type paths. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The overload consistency check triggered variance computation on the defining class, which needed class fields (including the __init__ being resolved), causing a cycle that resolved to Any(Implicit). Fix by skipping the self/cls parameter in the consistency check input signature comparison, and converting SelfType to ClassType in constructor return type paths. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
72eeacc to
9915819
Compare
Comparing return types that reference the defining class (e.g. `partial[...]` in `__new__`) triggers variance computation, which needs class fields including the overloaded method itself, causing a cycle that resolves types to Any. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Previously `type_of` collapsed `SelfType(cls)` into `ClassDef(cls)`, losing the Self information. Now it returns `Type(SelfType(cls))`, so `type(self)()` correctly produces `Self@C` instead of `C`. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The overload consistency check skips the self/cls parameter to avoid variance computation cycles. This adds explicit validation that the self type in __init__ is either the defining class or a superclass, catching bad annotations like `self: A` on an unrelated class. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add validation that __init__ self type must be the defining class or a superclass, and __new__ cls type must be type[X] where X is the defining class or a superclass. This catches bad annotations that were previously only caught by the overload consistency check (which now skips self/cls). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…tion Restore the overload return type consistency check for class methods (reverting 18a8006). The variance cycle for functools.partial is now documented as a known bug instead. Also fix __new__ cls annotation validation to accept type[TypeVar] (the standard __new__ pattern). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Diff from mypy_primer, showing the effect of this PR on open source code: trio (https://github.com/python-trio/trio)
+ ERROR src/trio/_core/_run.py:503:29-46: Argument `set[CancelStatus]` is not assignable to parameter `iterable` with type `Iterable[Self@CancelStatus]` in function `list.extend` [bad-argument-type]
- ERROR src/trio/_core/_run.py:910:5-26: `(self: Self@CancelScope, new_value: bool) -> None` is not assignable to upper bound `_SupportsCode` of type variable `_T_supports_code` [bad-specialization]
+ ERROR src/trio/_core/_run.py:910:5-26: `(self: CancelScope, new_value: bool) -> None` is not assignable to upper bound `_SupportsCode` of type variable `_T_supports_code` [bad-specialization]
+ ERROR src/trio/_dtls.py:1221:44-1225:14: Unpacked argument `tuple[ReferenceType[Self@DTLSEndpoint], SocketType]` is not assignable to parameter `*args` with type `tuple[ReferenceType[DTLSEndpoint], SocketType]` in function `trio._core._generated_run.spawn_system_task` [bad-argument-type]
+ ERROR src/trio/_path.py:133:32-35: Argument `type[PosixPath] | type[WindowsPath] | type[Self@Path]` is not assignable to parameter `cls` with type `type[Self@Path]` in function `pathlib.PurePath.__new__` [bad-argument-type]
black (https://github.com/psf/black)
+ ERROR src/blib2to3/pytree.py:155:9-158:36: Pyrefly detected conflicting types while breaking a dependency cycle: `Leaf | Node | Self@Base` is not assignable to `Self@Base`. Adding explicit type annotations might possibly help. [bad-assignment]
operator (https://github.com/canonical/operator)
+ ERROR ops/framework.py:391:34-63: `CallableProxyType[Never]` is not assignable to attribute `framework` with type `Framework` [bad-assignment]
rich (https://github.com/Textualize/rich)
+ ERROR rich/segment.py:461:33-72: Argument `list[list[Self@Segment]]` is not assignable to parameter `iterable` with type `Iterable[list[Segment]]` in function `list.extend` [bad-argument-type]
+ ERROR rich/style.py:218:36-41: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR rich/style.py:239:36-41: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR rich/style.py:478:37-42: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR rich/style.py:630:37-42: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR rich/style.py:653:37-42: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR rich/style.py:676:37-42: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR rich/style.py:734:41-46: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
hydpy (https://github.com/hydpy-dev/hydpy)
+ ERROR hydpy/core/timetools.py:211:32-35: Argument `type[TypeDate]` is not assignable to parameter `cls` with type `type[Self@Date]` in function `object.__new__` [bad-argument-type]
+ ERROR hydpy/core/timetools.py:254:32-35: Argument `type[TypeDate]` is not assignable to parameter `cls` with type `type[Self@Date]` in function `object.__new__` [bad-argument-type]
+ ERROR hydpy/core/timetools.py:354:32-35: Argument `type[TypeDate]` is not assignable to parameter `cls` with type `type[Self@Date]` in function `object.__new__` [bad-argument-type]
+ ERROR hydpy/core/timetools.py:1242:40-43: Argument `type[TypePeriod]` is not assignable to parameter `cls` with type `type[Self@Period]` in function `object.__new__` [bad-argument-type]
+ ERROR hydpy/core/timetools.py:1269:32-35: Argument `type[TypePeriod]` is not assignable to parameter `cls` with type `type[Self@Period]` in function `object.__new__` [bad-argument-type]
+ ERROR hydpy/core/timetools.py:1295:32-35: Argument `type[TypePeriod]` is not assignable to parameter `cls` with type `type[Self@Period]` in function `object.__new__` [bad-argument-type]
+ ERROR hydpy/core/timetools.py:1349:32-35: Argument `type[TypePeriod]` is not assignable to parameter `cls` with type `type[Self@Period]` in function `object.__new__` [bad-argument-type]
dd-trace-py (https://github.com/DataDog/dd-trace-py)
+ ERROR ddtrace/internal/logger.py:68:9-71:45: Pyrefly detected conflicting types while breaking a dependency cycle: `LoggerPrefix | Self@LoggerPrefix` is not assignable to `Self@LoggerPrefix`. Adding explicit type annotations might possibly help. [bad-assignment]
ppb-vector (https://github.com/ppb/ppb-vector)
- ERROR ppb_vector/__init__.py:110:9-16: Overload return type `None` is not assignable to implementation return type `Self@Vector` [inconsistent-overload]
+ ERROR ppb_vector/__init__.py:110:9-16: Overload return type `None` is not assignable to implementation return type `Vector` [inconsistent-overload]
- ERROR ppb_vector/__init__.py:113:9-16: Overload return type `None` is not assignable to implementation return type `Self@Vector` [inconsistent-overload]
+ ERROR ppb_vector/__init__.py:113:9-16: Overload return type `None` is not assignable to implementation return type `Vector` [inconsistent-overload]
discord.py (https://github.com/Rapptz/discord.py)
+ ERROR discord/interactions.py:686:20-32: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[ClientT], type[Interaction]) [no-matching-overload]
core (https://github.com/home-assistant/core)
+ ERROR homeassistant/components/logbook/queries/all.py:56:12-60:6: Returned type `HasHints` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/logbook/queries/common.py:257:12-261:6: Returned type `HasHints` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/logbook/queries/common.py:266:12-270:6: Returned type `HasHints` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/logbook/queries/devices.py:44:12-75: Returned type `GenerativeSelect` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/logbook/queries/entities.py:54:12-75: Returned type `GenerativeSelect` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/logbook/queries/entities.py:145:12-153:6: Returned type `HasHints` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/logbook/queries/entities_and_devices.py:57:12-75: Returned type `GenerativeSelect` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/recorder/history/__init__.py:195:16-73: Returned type `GenerativeSelect` is not assignable to declared return type `CompoundSelect[Unknown] | Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/recorder/history/__init__.py:214:12-219:83: Returned type `GenerativeSelect` is not assignable to declared return type `CompoundSelect[Unknown] | Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/recorder/history/__init__.py:428:16-20: Returned type `GenerativeSelect` is not assignable to declared return type `CompoundSelect[Unknown] | Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/recorder/history/__init__.py:524:9-546:42: Returned type `GenerativeSelect` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/recorder/history/__init__.py:554:9-568:42: Returned type `GenerativeSelect` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/recorder/history/__init__.py:786:16-20: Returned type `GenerativeSelect` is not assignable to declared return type `Select[Unknown]` [bad-return]
+ ERROR homeassistant/components/recorder/history/__init__.py:787:12-26: Object of class `GenerativeSelect` has no attribute `outerjoin` [missing-attribute]
+ ERROR homeassistant/components/recorder/migration.py:2080:21-2089:28: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR homeassistant/components/recorder/migration.py:2095:21-2104:28: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR homeassistant/components/recorder/migration.py:2117:21-2124:28: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:173:13-175:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:185:13-187:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:196:13-198:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:209:13-211:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:222:13-224:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:235:13-237:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:248:13-250:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:429:13-447:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:590:13-592:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:601:13-603:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:653:13-655:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:677:13-679:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:698:13-700:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/recorder/queries.py:709:13-711:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR homeassistant/components/sonos/speaker.py:1038:34-41: Argument `SonosSpeaker` is not assignable to parameter `object` with type `Self@SonosSpeaker` in function `list.append` [bad-argument-type]
+ ERROR homeassistant/components/sonos/speaker.py:1040:16-21: Returned type `list[SonosSpeaker] | list[Self@SonosSpeaker]` is not assignable to declared return type `list[SonosSpeaker]` [bad-return]
+ ERROR homeassistant/components/usage_prediction/common_control.py:218:40-47: No matching overload found for function `sqlalchemy.engine.base.Connection.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
- ERROR homeassistant/core.py:566:9-22: Implementation signature `(self: Self@HomeAssistant, target: ((**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R) | Coroutine[Any, Any, _R], *args: *_Ts, *, eager_start: bool = False) -> Future[_R] | None` does not accept all arguments that overload signature `(self: Self@HomeAssistant, target: (**tuple[*_Ts]) -> Coroutine[Any, Any, _R], *args: *_Ts, *, eager_start: bool = False) -> Future[_R] | None` accepts [inconsistent-overload]
+ ERROR homeassistant/core.py:566:9-22: Implementation signature `(self: HomeAssistant, target: ((**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R) | Coroutine[Any, Any, _R], *args: *_Ts, *, eager_start: bool = False) -> Future[_R] | None` does not accept all arguments that overload signature `(self: HomeAssistant, target: (**tuple[*_Ts]) -> Coroutine[Any, Any, _R], *args: *_Ts, *, eager_start: bool = False) -> Future[_R] | None` accepts [inconsistent-overload]
- ERROR homeassistant/core.py:575:9-22: Implementation signature `(self: Self@HomeAssistant, target: ((**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R) | Coroutine[Any, Any, _R], *args: *_Ts, *, eager_start: bool = False) -> Future[_R] | None` does not accept all arguments that overload signature `(self: Self@HomeAssistant, target: (**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R, *args: *_Ts, *, eager_start: bool = False) -> Future[_R] | None` accepts [inconsistent-overload]
+ ERROR homeassistant/core.py:575:9-22: Implementation signature `(self: HomeAssistant, target: ((**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R) | Coroutine[Any, Any, _R], *args: *_Ts, *, eager_start: bool = False) -> Future[_R] | None` does not accept all arguments that overload signature `(self: HomeAssistant, target: (**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R, *args: *_Ts, *, eager_start: bool = False) -> Future[_R] | None` accepts [inconsistent-overload]
- ERROR homeassistant/core.py:909:9-22: Implementation signature `(self: Self@HomeAssistant, target: ((**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R) | Coroutine[Any, Any, _R], *args: *_Ts) -> Future[_R] | None` does not accept all arguments that overload signature `(self: Self@HomeAssistant, target: (**tuple[*_Ts]) -> Coroutine[Any, Any, _R], *args: *_Ts) -> Future[_R] | None` accepts [inconsistent-overload]
+ ERROR homeassistant/core.py:909:9-22: Implementation signature `(self: HomeAssistant, target: ((**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R) | Coroutine[Any, Any, _R], *args: *_Ts) -> Future[_R] | None` does not accept all arguments that overload signature `(self: HomeAssistant, target: (**tuple[*_Ts]) -> Coroutine[Any, Any, _R], *args: *_Ts) -> Future[_R] | None` accepts [inconsistent-overload]
- ERROR homeassistant/core.py:915:9-22: Implementation signature `(self: Self@HomeAssistant, target: ((**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R) | Coroutine[Any, Any, _R], *args: *_Ts) -> Future[_R] | None` does not accept all arguments that overload signature `(self: Self@HomeAssistant, target: (**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R, *args: *_Ts) -> Future[_R] | None` accepts [inconsistent-overload]
+ ERROR homeassistant/core.py:915:9-22: Implementation signature `(self: HomeAssistant, target: ((**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R) | Coroutine[Any, Any, _R], *args: *_Ts) -> Future[_R] | None` does not accept all arguments that overload signature `(self: HomeAssistant, target: (**tuple[*_Ts]) -> Coroutine[Any, Any, _R] | _R, *args: *_Ts) -> Future[_R] | None` accepts [inconsistent-overload]
tornado (https://github.com/tornadoweb/tornado)
- ERROR tornado/test/gen_test.py:793:5-14: No matching overload found for function `tornado.testing.gen_test` called with arguments: ((self: Self@WaitIteratorTest) -> None) [no-matching-overload]
+ ERROR tornado/test/gen_test.py:793:5-14: No matching overload found for function `tornado.testing.gen_test` called with arguments: ((self: WaitIteratorTest) -> None) [no-matching-overload]
- ERROR tornado/test/queues_test.py:178:5-14: No matching overload found for function `tornado.testing.gen_test` called with arguments: ((self: Self@QueuePutTest) -> None) [no-matching-overload]
+ ERROR tornado/test/queues_test.py:178:5-14: No matching overload found for function `tornado.testing.gen_test` called with arguments: ((self: QueuePutTest) -> None) [no-matching-overload]
- ERROR tornado/test/testing_test.py:242:5-14: No matching overload found for function `tornado.testing.gen_test` called with arguments: ((self: Self@GenTest) -> None) [no-matching-overload]
+ ERROR tornado/test/testing_test.py:242:5-14: No matching overload found for function `tornado.testing.gen_test` called with arguments: ((self: GenTest) -> None) [no-matching-overload]
pyodide (https://github.com/pyodide/pyodide)
+ ERROR src/py/_pyodide/_core_docs.py:1265:34-45: Argument `type[JsException]` is not assignable to parameter `cls` with type `type[Self@JsException]` in function `JsProxy.__new__` [bad-argument-type]
mongo-python-driver (https://github.com/mongodb/mongo-python-driver)
+ ERROR bson/son.py:71:36-39: Argument `type[SON[_Key, _Value]]` is not assignable to parameter `cls` with type `type[Self@SON]` in function `dict.__new__` [bad-argument-type]
pandera (https://github.com/pandera-dev/pandera)
- WARN pandera/api/dataframe/model.py:246:20-72: Redundant cast: `DataFrameBase[Self@DataFrameModel]` is the same type as `DataFrameBase[Self@DataFrameModel]` [redundant-cast]
- WARN pandera/api/pyspark/model.py:151:20-72: Redundant cast: `DataFrameBase[Self@DataFrameModel]` is the same type as `DataFrameBase[Self@DataFrameModel]` [redundant-cast]
+ ERROR pandera/api/pyspark/model.py:124:9-17: Class member `DataFrameModel.validate` overrides parent class `DataFrameModel` in an inconsistent manner [bad-override]
bokeh (https://github.com/bokeh/bokeh)
- ERROR src/bokeh/server/views/session_handler.py:83:5-19: Argument `(self: Self@SessionHandler) -> Coroutine[Unknown, Unknown, ServerSession]` is not assignable to parameter `method` with type `(...) -> Awaitable[None] | None` in function `tornado.web.authenticated` [bad-argument-type]
+ ERROR src/bokeh/server/views/session_handler.py:83:5-19: Argument `(self: SessionHandler) -> Coroutine[Unknown, Unknown, ServerSession]` is not assignable to parameter `method` with type `(...) -> Awaitable[None] | None` in function `tornado.web.authenticated` [bad-argument-type]
asynq (https://github.com/quora/asynq)
- ERROR asynq/generator.py:127:16-25: Argument `AsyncDecorator[Any, [self: Self@_AsyncGenerator, value: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/generator.py:127:16-25: Argument `AsyncDecorator[Any, [self: _AsyncGenerator, value: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/generator.py:148:16-32: Argument `AsyncDecorator[Any, [self: Self@_AsyncGenerator, first_task: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/generator.py:148:16-32: Argument `AsyncDecorator[Any, [self: _AsyncGenerator, first_task: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_asynq_to_async.py:226:27-33: Argument `AsyncDecorator[Any, [self: Self@test_proxy_and_bind.B, x: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_asynq_to_async.py:226:27-33: Argument `AsyncDecorator[Any, [self: test_proxy_and_bind.B, x: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_decorators.py:67:16-36: Argument `AsyncDecorator[Any, [cls: type[Self@MyClass], number: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_decorators.py:67:16-36: Argument `AsyncDecorator[Any, [cls: type[MyClass], number: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_decorators.py:73:16-30: Argument `AsyncDecorator[Any, [cls: type[Self@MyClass]]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_decorators.py:73:16-30: Argument `AsyncDecorator[Any, [cls: type[MyClass]]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_decorators.py:74:23-37: Argument `AsyncDecorator[Any, [cls: type[Self@MyClass]]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_decorators.py:74:23-37: Argument `AsyncDecorator[Any, [cls: type[MyClass]]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_decorators.py:75:16-27: Argument `PureAsyncDecorator[Any, [cls: type[Self@MyClass]]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.PureAsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_decorators.py:75:16-27: Argument `PureAsyncDecorator[Any, [cls: type[MyClass]]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.PureAsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_decorators.py:76:23-34: Argument `PureAsyncDecorator[Any, [cls: type[Self@MyClass]]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.PureAsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_decorators.py:76:23-34: Argument `PureAsyncDecorator[Any, [cls: type[MyClass]]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.PureAsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_multiple_inheritance.py:42:9-15: Class member `Child.method` overrides parent class `Parent1` in an inconsistent manner [bad-override]
+ ERROR asynq/tests/test_multiple_inheritance.py:42:9-15: Class member `Child.method` overrides parent class `Parent2` in an inconsistent manner [bad-override]
- ERROR asynq/tests/test_multiple_inheritance.py:43:15-40: Argument `AsyncDecorator[Any, [self: Self@Child]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_multiple_inheritance.py:43:15-40: Argument `AsyncDecorator[Any, [self: Parent1]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:189:17-36: Argument `AsyncDecorator[Any, [self: UnhashableAcached, index: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:192:22-35: Argument `AsyncDecorator[Any, [self: UnhashableAcached, index: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:193:22-35: Argument `AsyncDecorator[Any, [self: UnhashableAcached, index: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:194:22-35: Argument `AsyncDecorator[Any, [self: UnhashableAcached, index: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:195:22-35: Argument `AsyncDecorator[Any, [self: UnhashableAcached, index: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:196:22-35: Argument `AsyncDecorator[Any, [self: UnhashableAcached, index: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:197:22-35: Argument `AsyncDecorator[Any, [self: UnhashableAcached, index: Unknown]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:199:22-37: Argument `AsyncDecorator[Any, [self: UnhashableAcached, x: int | Unknown = 1, y: int | Unknown = 2, z: int | Unknown = 3]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:200:22-37: Argument `AsyncDecorator[Any, [self: UnhashableAcached, x: int | Unknown = 1, y: int | Unknown = 2, z: int | Unknown = 3]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:201:23-38: Argument `AsyncDecorator[Any, [self: UnhashableAcached, x: int | Unknown = 1, y: int | Unknown = 2, z: int | Unknown = 3]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:205:22-41: Argument `AsyncDecorator[Any, [self: UnhashableAcached, *, arg: int | Unknown = 1]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:623:24-41: Argument `AsyncDecorator[Any, [self: Self@DeduplicateClassWrapper]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_tools.py:623:24-41: Argument `AsyncDecorator[Any, [self: DeduplicateClassWrapper]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
- ERROR asynq/tests/test_tools.py:623:51-67: Argument `AsyncDecorator[Any, [self: Self@DeduplicateClassWrapper]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
+ ERROR asynq/tests/test_tools.py:623:51-67: Argument `AsyncDecorator[Any, [self: DeduplicateClassWrapper]]` is not assignable to parameter `self` with type `PureAsyncDecorator[Any, Concatenate[Any, _P2]]` in function `asynq.decorators.AsyncDecorator.__get__` [bad-argument-type]
mkdocs (https://github.com/mkdocs/mkdocs)
- ERROR mkdocs/config/config_options.py:95:37-84: `partial[Config]` is not assignable to attribute `config_class` with type `type[Any]` [bad-assignment]
+ ERROR mkdocs/config/config_options.py:95:37-84: `partial[Config]` is not assignable to attribute `config_class` with type `type[SomeConfig]` [bad-assignment]
pydantic (https://github.com/pydantic/pydantic)
+ ERROR pydantic/fields.py:842:16-22: Returned type `FieldInfo` is not assignable to declared return type `Self@FieldInfo` [bad-return]
prefect (https://github.com/PrefectHQ/prefect)
+ ERROR src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:422:16-48: Expected first argument to `super` to be a class object, got `type[Self@DbtCoreOperation]` [invalid-argument]
+ ERROR src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:437:16-48: Expected first argument to `super` to be a class object, got `type[Self@DbtCoreOperation]` [invalid-argument]
- ERROR src/integrations/prefect-dbt/prefect_dbt/cloud/jobs.py:865:26-46: Argument `(self: Self@DbtCloudJobRun) -> Coroutine[Any, Any, int] | int` is not assignable to parameter `get_state_fn` with type `Awaitable[(...) -> Unknown]` in function `DbtCloudJobRun._wait_until_state` [bad-argument-type]
+ ERROR src/integrations/prefect-dbt/prefect_dbt/cloud/jobs.py:865:26-46: Argument `(self: DbtCloudJobRun) -> Coroutine[Any, Any, int] | int` is not assignable to parameter `get_state_fn` with type `Awaitable[(...) -> Unknown]` in function `DbtCloudJobRun._wait_until_state` [bad-argument-type]
+ ERROR src/integrations/prefect-docker/prefect_docker/worker.py:612:70-83: Argument `BaseJobConfiguration` is not assignable to parameter `configuration` with type `DockerWorkerJobConfiguration` in function `DockerWorker.run` [bad-argument-type]
- ERROR src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:480:5-42: Argument `(self: Self@KubernetesJobRun, print_func: ((...) -> Unknown) | None = None) -> Awaitable[Unknown] | Unknown` is not assignable to parameter with type `(self: Self@KubernetesJobRun, print_func: ((...) -> Unknown) | None = None) -> None` [bad-argument-type]
+ ERROR src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:480:5-42: Argument `(self: KubernetesJobRun, print_func: ((...) -> Unknown) | None = None) -> Awaitable[Unknown] | Unknown` is not assignable to parameter with type `(self: Self@KubernetesJobRun, print_func: ((...) -> Unknown) | None = None) -> None` [bad-argument-type]
- ERROR src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:586:5-30: Argument `(self: Self@KubernetesJob) -> Awaitable[Unknown] | Unknown` is not assignable to parameter with type `(self: Self@KubernetesJob) -> KubernetesJobRun` [bad-argument-type]
+ ERROR src/integrations/prefect-kubernetes/prefect_kubernetes/jobs.py:586:5-30: Argument `(self: KubernetesJob) -> Awaitable[Unknown] | Unknown` is not assignable to parameter with type `(self: Self@KubernetesJob) -> KubernetesJobRun` [bad-argument-type]
- ERROR src/prefect/_internal/compatibility/deprecated.py:264:21-61: No matching overload found for function `pydantic._internal._utils.deprecated_instance_property.__get__` called with arguments: (None, type[BaseModel]) [no-matching-overload]
+ ERROR src/prefect/automations.py:110:5-29: Argument `(self: Automation) -> Automation` is not assignable to parameter with type `(self: Self@Automation) -> Self@Automation` [bad-argument-type]
+ ERROR src/prefect/automations.py:235:5-27: Argument `(cls: type[Automation], id: UUID | None = None, name: str | None = None) -> Automation` is not assignable to parameter with type `(cls: type[Self@Automation], id: UUID, name: str | None = ...) -> Self@Automation` [bad-argument-type]
+ ERROR src/prefect/client/schemas/objects.py:300:9-15: Overload return type `Exception | object` is not assignable to implementation return type `Coroutine[Any, Any, Exception] | Exception` [inconsistent-overload]
+ ERROR src/prefect/client/schemas/objects.py:307:9-15: Overload return type `Exception | object` is not assignable to implementation return type `Coroutine[Any, Any, Exception] | Exception` [inconsistent-overload]
- ERROR src/prefect/client/schemas/objects.py:313:5-29: Argument `(self: Self@State, raise_on_failure: bool = True, retry_result_failure: bool = True) -> Exception | R` is not assignable to parameter with type `(self: State[R], raise_on_failure: Literal[True] = ..., retry_result_failure: bool = ...) -> R` [bad-argument-type]
+ ERROR src/prefect/client/schemas/objects.py:313:5-29: Argument `(self: State[R], raise_on_failure: bool = True, retry_result_failure: bool = True) -> Exception | R` is not assignable to parameter with type `(self: State[R], raise_on_failure: Literal[True] = ..., retry_result_failure: bool = ...) -> R` [bad-argument-type]
- ERROR src/prefect/flows.py:2275:9-17: Implementation signature `(Self@InfrastructureBoundFlow, ParamSpec(P)) -> Coroutine[Unknown, Unknown, State[R] | R] | State[R] | R` does not accept all arguments that overload signature `(Flow[P, NoReturn], ParamSpec(P)) -> None` accepts [inconsistent-overload]
- ERROR src/prefect/flows.py:2281:9-17: Implementation signature `(Self@InfrastructureBoundFlow, ParamSpec(P)) -> Coroutine[Unknown, Unknown, State[R] | R] | State[R] | R` does not accept all arguments that overload signature `(Flow[P, Coroutine[Any, Any, T]], ParamSpec(P)) -> Coroutine[Any, Any, T]` accepts [inconsistent-overload]
- ERROR src/prefect/flows.py:2288:9-17: Implementation signature `(Self@InfrastructureBoundFlow, ParamSpec(P)) -> Coroutine[Unknown, Unknown, State[R] | R] | State[R] | R` does not accept all arguments that overload signature `(Flow[P, T], ParamSpec(P)) -> T` accepts [inconsistent-overload]
- ERROR src/prefect/flows.py:2295:9-17: Implementation signature `(Self@InfrastructureBoundFlow, ParamSpec(P)) -> Coroutine[Unknown, Unknown, State[R] | R] | State[R] | R` does not accept all arguments that overload signature `(Flow[P, Coroutine[Any, Any, T]], ParamSpec(P)) -> Awaitable[State[T]]` accepts [inconsistent-overload]
- ERROR src/prefect/flows.py:2303:9-17: Implementation signature `(Self@InfrastructureBoundFlow, ParamSpec(P)) -> Coroutine[Unknown, Unknown, State[R] | R] | State[R] | R` does not accept all arguments that overload signature `(Flow[P, T], ParamSpec(P)) -> State[T]` accepts [inconsistent-overload]
+ ERROR src/prefect/input/run_input.py:242:5-27: Argument `(cls: type[BaseRunInput], keyset: dict[Literal['description', 'response', 'schema'], str], flow_run_id: UUID | None = None) -> BaseRunInput` is not assignable to parameter with type `(cls: type[Self@BaseRunInput], keyset: dict[Literal['description', 'response', 'schema'], str], flow_run_id: UUID | None = None) -> Self@BaseRunInput` [bad-argument-type]
- ERROR src/prefect/input/run_input.py:293:30-46: No matching overload found for function `pydantic._internal._utils.deprecated_instance_property.__get__` called with arguments: (None, type[RunInput]) [no-matching-overload]
+ ERROR src/prefect/results.py:397:5-38: Argument `(self: ResultStore, flow: Flow[Ellipsis, Any]) -> ResultStore` is not assignable to parameter with type `(self: Self@ResultStore, flow: Flow[Ellipsis, Any]) -> Self@ResultStore` [bad-argument-type]
+ ERROR src/prefect/results.py:473:5-38: Argument `(self: ResultStore, task: Task[P, R]) -> ResultStore` is not assignable to parameter with type `(self: Self@ResultStore, task: Task[Ellipsis, Unknown]) -> Self@ResultStore` [bad-argument-type]
+ ERROR src/prefect/server/api/deployments.py:425:17-432:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
- ERROR src/prefect/server/api/run_history.py:159:14-42: Type `Result[tuple[Any, Any, Unknown]]` is not awaitable [not-async]
+ ERROR src/prefect/server/api/run_history.py:159:35-42: No matching overload found for function `sqlalchemy.orm.session.Session.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
+ ERROR src/prefect/server/api/server.py:847:16-36: Returned type `SubprocessASGIServer` is not assignable to declared return type `Self@SubprocessASGIServer` [bad-return]
+ ERROR src/prefect/server/api/ui/flow_runs.py:119:40-47: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
+ ERROR src/prefect/server/api/ui/flows.py:65:40-47: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
+ ERROR src/prefect/server/api/ui/task_runs.py:148:39-46: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_05_10_145956_1c9390e2f9c6_replace_version_with_checksum_and_.py:112:13-114:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_05_10_145956_1c9390e2f9c6_replace_version_with_checksum_and_.py:127:13-129:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_05_10_145956_1c9390e2f9c6_replace_version_with_checksum_and_.py:137:17-139:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_05_26_135743_724e6dcc6b5d_add_block_schema_capabilities.py:43:17-45:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_05_26_135743_724e6dcc6b5d_add_block_schema_capabilities.py:73:17-75:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_05_28_081821_2fe6fe6ca16e_adds_block_schema_references_and_block_.py:175:13-177:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_07_06_152528_4cdc2ba709a4_migrates_block_schemas_with_new_secrets_.py:136:21-138:28: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_07_19_160058_bb4dc90d3e29_renames_existing_block_types.py:45:13-47:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_07_25_214717_4ff2f2bf81f4_adds_block_type_slug.py:53:13-55:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/postgresql/2022_07_25_214717_4ff2f2bf81f4_adds_block_type_slug.py:66:17-68:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_04_25_135207_b75d279ba985_replace_version_with_checksum.py:119:13-121:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_04_25_135207_b75d279ba985_replace_version_with_checksum.py:135:13-137:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_04_25_135207_b75d279ba985_replace_version_with_checksum.py:145:17-147:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_05_19_165808_33439667aeea_add_block_schema_capabilities.py:45:17-47:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_05_19_165808_33439667aeea_add_block_schema_capabilities.py:86:17-88:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_05_28_081650_e73c6f1fe752_adds_block_schema_referecnes_and_block_.py:189:13-191:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_07_06_142824_e2dae764a603_migrates_block_schemas_with_new_secrets_.py:135:21-137:28: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_07_19_153432_628a873f0d1a_renames_existing_block_types.py:45:13-47:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_07_25_142515_f335f9633eec_adds_block_type_slug.py:56:13-58:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/_migrations/versions/sqlite/2022_07_25_142515_f335f9633eec_adds_block_type_slug.py:69:17-71:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
- ERROR src/prefect/server/database/dependencies.py:251:13-20: Overload return type `DBInjector[object, object, object]` is not assignable to implementation return type `DBInjector[object, Concatenate[PrefectDBInterface, object], object] | DBInjector[None, Concatenate[PrefectDBInterface, object], object]` [inconsistent-overload]
- ERROR src/prefect/server/database/dependencies.py:272:9-16: Class member `DBInjector.__get__` overrides parent class `PrefectDescriptorBase` in an inconsistent manner [bad-override]
+ ERROR src/prefect/server/database/query_components.py:201:16-21: Returned type `GenerativeSelect` is not assignable to declared return type `Select[tuple[FlowRun, UUID]]` [bad-return]
+ ERROR src/prefect/server/database/query_components.py:513:40-47: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
+ ERROR src/prefect/server/database/query_components.py:577:13-585:24: Returned type `GenerativeSelect` is not assignable to declared return type `Select[tuple[datetime, datetime]]` [bad-return]
+ ERROR src/prefect/server/database/query_components.py:600:13-606:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/database/query_components.py:871:13-875:20: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/events/counting.py:217:30-60: Object of class `GenerativeSelect` has no attribute `select_from` [missing-attribute]
+ ERROR src/prefect/server/events/counting.py:265:16-28: Returned type `GenerativeSelect` is not assignable to declared return type `Select[tuple[str, str, Unknown, Unknown, int]]` [bad-return]
+ ERROR src/prefect/server/events/models/automations.py:55:17-28: Object of class `GenerativeSelect` has no attribute `where` [missing-attribute]
+ ERROR src/prefect/server/events/models/automations.py:61:35-42: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect | Unknown) [no-matching-overload]
+ ERROR src/prefect/server/events/models/automations.py:212:9-214:16: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/events/models/automations.py:238:26-242:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/models/automations.py:243:26-247:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/models/automations.py:248:26-252:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/models/automations.py:255:26-259:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/models/automations.py:312:9-314:16: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/events/models/automations.py:330:26-337:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase, execution_options=dict[str, bool]) [no-matching-overload]
+ ERROR src/prefect/server/events/models/automations.py:362:9-368:31: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR src/prefect/server/events/models/automations.py:431:26-433:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/models/composite_trigger_child_firing.py:61:9-70:31: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR src/prefect/server/events/ordering/db.py:78:34-83:14: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/ordering/db.py:114:34-119:14: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/storage/database.py:196:55-76: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
+ ERROR src/prefect/server/events/triggers.py:797:26-803:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/triggers.py:828:39-46: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
+ ERROR src/prefect/server/events/triggers.py:893:9-903:31: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR src/prefect/server/events/triggers.py:948:9-960:31: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR src/prefect/server/events/triggers.py:1009:9-1020:31: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR src/prefect/server/events/triggers.py:1049:26-1055:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/events/triggers.py:1064:26-1066:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/models/artifacts.py:31:9-33:31: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR src/prefect/server/models/artifacts.py:89:9-92:27: Object of class `GenerativeSelect` has no attribute `execution_options` [missing-attribute]
+ ERROR src/prefect/server/models/artifacts.py:281:9-14: Argument `GenerativeSelect` is not assignable to parameter `query` with type `Select[@_]` in function `_apply_artifact_filters` [bad-argument-type]
+ ERROR src/prefect/server/models/artifacts.py:294:35-42: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect | Select[Unknown]) [no-matching-overload]
+ ERROR src/prefect/server/models/artifacts.py:328:9-14: Argument `GenerativeSelect` is not assignable to parameter `query` with type `Select[@_]` in function `_apply_artifact_collection_filters` [bad-argument-type]
+ ERROR src/prefect/server/models/artifacts.py:341:35-42: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect | Select[Unknown]) [no-matching-overload]
+ ERROR src/prefect/server/models/artifacts.py:434:9-436:16: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/models/artifacts.py:443:9-445:16: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/models/artifacts.py:497:34-503:14: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect) [no-matching-overload]
- ERROR src/prefect/server/models/artifacts.py:534:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
+ ERROR src/prefect/server/models/artifacts.py:508:17-510:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/models/artifacts.py:525:34-529:14: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/models/artifacts.py:533:35-48: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/models/block_documents.py:386:9-38: Object of class `GenerativeSelect` has no attribute `execution_options` [missing-attribute]
+ ERROR src/prefect/server/models/block_documents.py:472:35-42: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
- ERROR src/prefect/server/models/block_documents.py:473:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
+ ERROR src/prefect/server/models/block_documents.py:580:17-582:24: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
+ ERROR src/prefect/server/models/block_documents.py:663:35-42: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
+ ERROR src/prefect/server/models/block_schemas.py:117:23-56: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
- ERROR src/prefect/server/models/block_documents.py:664:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
+ ERROR src/prefect/server/models/block_schemas.py:124:9-130:27: Object of class `GenerativeSelect` has no attribute `execution_options` [missing-attribute]
+ ERROR src/prefect/server/models/block_schemas.py:300:35-302:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
- ERROR src/prefect/server/models/block_schemas.py:303:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
+ ERROR src/prefect/server/models/block_schemas.py:618:40-74: Object of class `GenerativeSelect` has no attribute `where` [missing-attribute]
+ ERROR src/prefect/server/models/block_schemas.py:628:31-61: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect | Unknown) [no-matching-overload]
+ ERROR src/prefect/server/models/block_schemas.py:655:9-665:14: Object of class `GenerativeSelect` has no attribute `join` [missing-attribute]
+ ERROR src/prefect/server/models/block_schemas.py:737:35-68: Object of class `GenerativeSelect` has no attribute `filter_by` [missing-attribute]
+ ERROR src/prefect/server/models/block_types.py:60:23-56: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR src/prefect/server/models/block_types.py:140:17-28: Object of class `GenerativeSelect` has no attribute `where` [missing-attribute]
+ ERROR src/prefect/server/models/block_types.py:147:17-28: Object of class `GenerativeSelect` has no attribute `where` [missing-attribute]
+ ERROR src/prefect/server/models/block_types.py:155:35-42: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (GenerativeSelect | Unknown) [no-matching-overload]
+ ERROR src/prefect/server/models/block_types.py:195:9-197:16: Object of class `DMLWhereBase` has no attribute `values` [missing-attribute]
- ERROR src/prefect/server/models/block_types.py:221:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
+ ERROR src/prefect/server/models/block_types.py:218:35-220:6: No matching overload found for function `sqlalchemy.ext.asyncio.session.AsyncSession.execute` called with arguments: (DMLWhereBase) [no-matching-overload]
- ERROR src/prefect/server/models/concurrency_limits.py:153:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
+ ERROR src/prefect/server/models/concurrency_limits.py:38:9-40:31: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
... (truncated 153 lines) ...
jinja (https://github.com/pallets/jinja)
+ ERROR src/jinja2/nodes.py:217:25-48: Argument `Iterator[Node]` is not assignable to parameter `iterable` with type `Iterable[Self@Node]` in function `collections.deque.extend` [bad-argument-type]
+ ERROR src/jinja2/nodes.py:228:25-48: Argument `Iterator[Node]` is not assignable to parameter `iterable` with type `Iterable[Self@Node]` in function `collections.deque.extend` [bad-argument-type]
+ ERROR src/jinja2/nodes.py:237:25-48: Argument `Iterator[Node]` is not assignable to parameter `iterable` with type `Iterable[Self@Node]` in function `collections.deque.extend` [bad-argument-type]
mitmproxy (https://github.com/mitmproxy/mitmproxy)
- ERROR mitmproxy/proxy/mode_servers.py:85:5-20: No matching overload found for function `contextlib.contextmanager` called with arguments: ((self: Self@ServerManager, connection_id: str | tuple[Unknown, ...], handler: ProxyConnectionHandler) -> None) [no-matching-overload]
+ ERROR mitmproxy/proxy/mode_servers.py:85:5-20: No matching overload found for function `contextlib.contextmanager` called with arguments: ((self: ServerManager, connection_id: str | tuple[Unknown, ...], handler: ProxyConnectionHandler) -> None) [no-matching-overload]
streamlit (https://github.com/streamlit/streamlit)
- ERROR lib/streamlit/runtime/state/query_params_proxy.py:88:9-15: Implementation signature `(self: Self@QueryParamsProxy, params: tuple[()] | Unknown = ..., /, **kwds: Unknown) -> None` does not accept all arguments that overload signature `(self: Self@QueryParamsProxy, **kwds: Iterable[str] | str) -> None` accepts [inconsistent-overload]
isort (https://github.com/pycqa/isort)
+ ERROR isort/output.py:667:35-47: No matching overload found for function `str.__new__` called with arguments: (type[_LineWithComments], Any) [no-matching-overload]
pycryptodome (https://github.com/Legrandin/pycryptodome)
+ ERROR lib/Crypto/Hash/CMAC.py:173:28-32: Argument `type[CMAC]` is not assignable to parameter `cls` with type `type[Self@CMAC]` in function `object.__new__` [bad-argument-type]
jax (https://github.com/google/jax)
+ ERROR jax/experimental/mosaic/gpu/fragmented_array.py:314:5-315:58: Pyrefly detected conflicting types while breaking a dependency cycle: `TiledLayoutImpl | Self@TiledLayoutImpl` is not assignable to `Self@TiledLayoutImpl`. Adding explicit type annotations might possibly help. [bad-assignment]
nox (https://github.com/wntrblm/nox)
+ ERROR nox/_decorators.py:41:9-16: `__new__` method cls type `Any` is not a valid `type[...]` annotation [invalid-annotation]
static-frame (https://github.com/static-frame/static-frame)
+ ERROR static_frame/core/frame.py:779:16-787:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:1203:16-1213:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:1245:16-1251:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:1384:16-1393:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:1880:20-1888:14: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:1905:20-1913:14: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2081:20-2092:14: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2134:16-2142:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2180:16-2188:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2218:16-2227:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2259:16-2267:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2300:16-2309:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2339:16-2348:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2732:16-2759:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2798:16-2825:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:2873:16-2900:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:3445:16-3456:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:8383:16-8390:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/frame.py:8460:16-8466:10: Returned type `Frame[TVIndex, TVColumns, TVDtypes]` is not assignable to declared return type `Self@Frame` [bad-return]
+ ERROR static_frame/core/series.py:518:16-20: Returned type `Series[TVIndex, TVDtype] | Self@Series` is not assignable to declared return type `Self@Series` [bad-return]
+ ERROR static_frame/core/series.py:2786:16-2790:10: Returned type `Series` is not assignable to declared return type `Self@Series` [bad-return]
+ ERROR static_frame/core/yarn.py:724:16-59: Returned type `Yarn[TVIndex]` is not assignable to declared return type `Self@Yarn` [bad-return]
+ ERROR static_frame/test/typing/test_frame.py:27:22-59: `Frame[Any, Any, *tuple[()]]` is not assignable to `FrameGO` [bad-assignment]
+ ERROR static_frame/test/typing/test_frame.py:35:22-60: `Frame[Any, Any, *tuple[()]]` is not assignable to `FrameGO` [bad-assignment]
+ ERROR static_frame/test/typing/test_frame.py:42:22-63: `Frame[Any, Any, *tuple[()]]` is not assignable to `FrameGO` [bad-assignment]
+ ERROR static_frame/test/typing/test_frame.py:65:23-55: `Frame[Any, Any, *tuple[()]]` is not assignable to `FrameGO` [bad-assignment]
+ ERROR static_frame/test/typing/test_frame.py:79:23-55: `Frame` is not assignable to `FrameHE` [bad-assignment]
+ ERROR static_frame/test/typing/test_frame.py:145:23-55: `Frame[Any, Any, *tuple[()]]` is not assignable to `FrameGO` [bad-assignment]
+ ERROR static_frame/test/typing/test_frame.py:156:23-55: `Frame` is not assignable to `FrameHE` [bad-assignment]
- ERROR static_frame/test/unit/test_frame.py:2385:25-40: Argument `_odict_items[str, ndarray]` is not assignable to parameter `pairs` with type `Iterable[tuple[TLabel, Series]]` in function `static_frame.core.frame.FrameGO.extend_items` [bad-argument-type]
- ERROR static_frame/test/unit/test_frame.py:2467:23-26: Argument `Literal['a']` is not assignable to parameter `container` with type `Frame | Series` in function `static_frame.core.frame.FrameGO.extend` [bad-argument-type]
+ ERROR static_frame/test/unit/test_frame.py:2385:9-24: Object of class `Frame` has no attribute `extend_items` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2405:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2435:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2446:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2457:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2467:13-22: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2484:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2515:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2541:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2574:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2587:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2609:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2624:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
+ ERROR static_frame/test/unit/test_frame.py:2667:9-18: Object of class `Frame` has no attribute `extend` [missing-attribute]
mypy (https://github.com/python/mypy)
- ERROR mypy/typeshed/stdlib/builtins.pyi:227:5-17: Argument `(metacls: Self@type, name: str, bases: tuple[type[Any], ...], /, **kwds: Any) -> MutableMapping[str, object]` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
+ ERROR mypy/typeshed/stdlib/builtins.pyi:227:5-17: Argument `(metacls: type, name: str, bases: tuple[type[Any], ...], /, **kwds: Any) -> MutableMapping[str, object]` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
- ERROR mypy/typeshed/stdlib/builtins.pyi:277:9-21: Argument `(cls: Self@int, bytes: Buffer | Iterable[SupportsIndex] | SupportsBytes, byteorder: Literal['big', 'little'] = 'big', *, signed: bool = False) -> Self@int` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
+ ERROR mypy/typeshed/stdlib/builtins.pyi:277:9-21: Argument `(cls: int, bytes: Buffer | Iterable[SupportsIndex] | SupportsBytes, byteorder: Literal['big', 'little'] = 'big', *, signed: bool = False) -> int` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
- ERROR mypy/typeshed/stdlib/builtins.pyi:370:5-17: Argument `(cls: Self@float, string: str, /) -> Self@float` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
+ ERROR mypy/typeshed/stdlib/builtins.pyi:370:5-17: Argument `(cls: float, string: str, /) -> float` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
- ERROR mypy/typeshed/stdlib/builtins.pyi:640:9-21: Argument `(cls: Self@bytes, string: str, /) -> Self@bytes` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
+ ERROR mypy/typeshed/stdlib/builtins.pyi:640:9-21: Argument `(cls: bytes, string: str, /) -> bytes` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
- ERROR mypy/typeshed/stdlib/builtins.pyi:750:9-21: Argument `(cls: Self@bytearray, string: str, /) -> Self@bytearray` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
+ ERROR mypy/typeshed/stdlib/builtins.pyi:750:9-21: Argument `(cls: bytearray, string: str, /) -> bytearray` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
- ERROR mypy/typeshed/stdlib/builtins.pyi:1117:5-17: Argument `(cls: Self@mypy.typeshed.stdlib.builtins.dict, iterable: Iterable[_T], value: None = None, /) -> builtins.dict[_T, Any | None]` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
+ ERROR mypy/typeshed/stdlib/builtins.pyi:1117:5-17: Argument `(cls: mypy.typeshed.stdlib.builtins.dict[_KT, _VT], iterable: Iterable[_T], value: None = None, /) -> builtins.dict[_T, Any | None]` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
- ERROR mypy/typeshed/stdlib/builtins.pyi:1120:5-17: Argument `(cls: Self@mypy.typeshed.stdlib.builtins.dict, iterable: Iterable[_T], value: _S, /) -> builtins.dict[_T, _S]` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
+ ERROR mypy/typeshed/stdlib/builtins.pyi:1120:5-17: Argument `(cls: mypy.typeshed.stdlib.builtins.dict[_KT, _VT], iterable: Iterable[_T], value: _S, /) -> builtins.dict[_T, _S]` is not assignable to parameter `f` with type `(type[@_], ParamSpec(@_)) -> @_` in function `classmethod.__init__` [bad-argument-type]
optuna (https://github.com/optuna/optuna)
+ ERROR optuna/samplers/_brute_force.py:68:9-73:56: Pyrefly detected conflicting types while breaking a dependency cycle: `_TreeNode | Self@_TreeNode` is not assignable to `Self@_TreeNode`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR optuna/storages/_rdb/alembic/versions/v1.3.0.a.py:68:13-70:31: Object of class `DMLWhereBase` has no attribute `execution_options` [missing-attribute]
+ ERROR optuna/storages/_rdb/storage.py:776:33-74: Object of class `ValuesBase` has no attribute `on_duplicate_key_update` [missing-attribute]
+ ERROR optuna/storages/_rdb/storage.py:777:28-54: Object of class `ValuesBase` has no attribute `inserted` [missing-attribute]
+ ERROR optuna/storages/_rdb/storage.py:784:34-74: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR optuna/storages/_rdb/storage.py:786:38-65: Object of class `ValuesBase` has no attribute `excluded` [missing-attribute]
+ ERROR optuna/storages/_rdb/storage.py:793:30-66: Object of class `ValuesBase` has no attribute `on_conflict_do_update` [missing-attribute]
+ ERROR optuna/storages/_rdb/storage.py:795:38-61: Object of class `ValuesBase` has no attribute `excluded` [missing-attribute]
pip (https://github.com/pypa/pip)
+ ERROR src/pip/_vendor/rich/segment.py:430:33-72: Argument `list[list[Self@Segment]]` is not assignable to parameter `iterable` with type `Iterable[list[Segment]]` in function `list.extend` [bad-argument-type]
+ ERROR src/pip/_vendor/rich/style.py:218:36-41: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR src/pip/_vendor/rich/style.py:239:36-41: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR src/pip/_vendor/rich/style.py:478:37-42: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR src/pip/_vendor/rich/style.py:630:37-42: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR src/pip/_vendor/rich/style.py:653:37-42: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR src/pip/_vendor/rich/style.py:676:37-42: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
+ ERROR src/pip/_vendor/rich/style.py:734:41-46: Argument `type[Style]` is not assignable to parameter `cls` with type `type[Self@Style]` in function `object.__new__` [bad-argument-type]
- ERROR src/pip/_vendor/urllib3/util/retry.py:604:17-44: No matching overload found for function `str.format` called with arguments: (cls=type[Retry], self=Self@Retry) [no-matching-overload]
+ ERROR src/pip/_vendor/urllib3/util/retry.py:604:17-44: No matching overload found for function `str.format` called with arguments: (cls=type[Self@Retry], self=Self@Retry) [no-matching-overload]
artigraph (https://github.com/artigraph/artigraph)
+ ERROR src/arti/internal/mappings.py:154:9-157:49: Pyrefly detected conflicting types while breaking a dependency cycle: `TypedBox[V] | Self@TypedBox` is not assignable to `Self@TypedBox`. Adding explicit type annotations might possibly help. [bad-assignment]
- ERROR src/arti/storage/__init__.py:215:24-64: No matching overload found for function `pydantic._internal._utils.deprecated_instance_property.__get__` called with arguments: (None, type[StoragePartition]) [no-matching-overload]
+ ERROR src/arti/views/__init__.py:107:16-26: Returned type `type[View] | type[Self@View]` is not assignable to declared return type `type[Self@View]` [bad-return]
sphinx (https://github.com/sphinx-doc/sphinx)
+ ERROR sphinx/domains/c/_symbol.py:246:9-248:25: Pyrefly detected conflicting types while breaking a dependency cycle: `Symbol | Self@Symbol` is not assignable to `Self@Symbol`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR sphinx/domains/c/_symbol.py:259:9-261:25: Pyrefly detected conflicting types while breaking a dependency cycle: `Symbol | Self@Symbol` is not assignable to `Self@Symbol`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR sphinx/domains/c/_symbol.py:294:13-295:53: Pyrefly detected conflicting types while breaking a dependency cycle: `Symbol | Self@Symbol` is not assignable to `Self@Symbol`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR sphinx/domains/c/_symbol.py:663:9-675:22: Pyrefly detected conflicting types while breaking a dependency cycle: `Symbol | Self@Symbol` is not assignable to `Self@Symbol`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR sphinx/domains/cpp/_symbol.py:336:9-338:25: Pyrefly detected conflicting types while breaking a dependency cycle: `Symbol | Self@Symbol` is not assignable to `Self@Symbol`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR sphinx/domains/cpp/_symbol.py:352:9-354:25: Pyrefly detected conflicting types while breaking a dependency cycle: `Symbol | Self@Symbol` is not assignable to `Self@Symbol`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR sphinx/domains/cpp/_symbol.py:558:13-559:53: Pyrefly detected conflicting types while breaking a dependency cycle: `Symbol | Self@Symbol` is not assignable to `Self@Symbol`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR sphinx/domains/cpp/_symbol.py:1073:9-1106:28: Pyrefly detected conflicting types while breaking a dependency cycle: `Symbol | Self@Symbol` is not assignable to `Self@Symbol`. Adding explicit type annotations might possibly help. [bad-assignment]
egglog-python (https://github.com/egraphs-good/egglog-python)
+ ERROR python/egglog/declarations.py:748:26-41: Argument `list[TypedExprDecl]` is not assignable to parameter `iterable` with type `Iterable[Self@TypedExprDecl]` in function `list.extend` [bad-argument-type]
+ ERROR python/egglog/declarations.py:749:16-17: Returned type `list[Self@TypedExprDecl]` is not assignable to declared return type `list[TypedExprDecl]` [bad-return]
Expression (https://github.com/cognitedata/Expression)
- ERROR expression/core/pipe.py:273:9-13: Implementation signature `(self: Self@PipeMixin, *args: Any) -> Any` does not accept all arguments that overload signature `(self: _A, fn1: (_A) -> _B, /) -> _B` accepts [inconsistent-overload]
- ERROR expression/core/pipe.py:276:9-13: Implementation signature `(self: Self@PipeMixin, *args: Any) -> Any` does not accept all arguments that overload signature `(self: _A, fn1: (_A) -> _B, fn2: (_B) -> _C, /) -> _C` accepts [inconsistent-overload]
- ERROR expression/core/pipe.py:279:9-13: Implementation signature `(self: Self@PipeMixin, *args: Any) -> Any` does not accept all arguments that overload signature `(self: _A, fn1: (_A) -> _B, fn2: (_B) -> _C, fn3: (_C) -> _D, /) -> _D` accepts [inconsistent-overload]
- ERROR expression/core/pipe.py:282:9-13: Implementation signature `(self: Self@PipeMixin, *args: Any) -> Any` does not accept all arguments that overload signature `(self: _A, fn1: (_A) -> _B, fn2: (_B) -> _C, fn3: (_C) -> _D, fn4: (_D) -> _E, /) -> _E` accepts [inconsistent-overload]
- ERROR expression/core/pipe.py:292:9-13: Implementation signature `(self: Self@PipeMixin, *args: Any) -> Any` does not accept all arguments that overload signature `(self: _A, fn1: (_A) -> _B, fn2: (_B) -> _C, fn3: (_C) -> _D, fn4: (_D) -> _E, fn5: (_E) -> _F, /) -> _F` accepts [inconsistent-overload]
- ERROR expression/core/pipe.py:303:9-13: Implementation signature `(self: Self@PipeMixin, *args: Any) -> Any` does not accept all arguments that overload signature `(self: _A, fn1: (_A) -> _B, fn2: (_B) -> _C, fn3: (_C) -> _D, fn4: (_D) -> _E, fn5: (_E) -> _F, fn6: (_F) -> _G, /) -> _G` accepts [inconsistent-overload]
+ ERROR expression/core/result.py:209:37-42: Argument `_TSourceOut` is not assignable to parameter `error` with type `_TErrorOut` in function `Result.__init__` [bad-argument-type]
+ ERROR expression/core/result.py:211:34-39: Argument `_TErrorOut` is not assignable to parameter `ok` with type `_TSourceOut` in function `Result.__init__` [bad-argument-type]
meson (https://github.com/mesonbuild/meson)
- ERROR mesonbuild/interpreter/interpreter.py:325:26-384:30: No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, (self: Self@Interpreter, node: BaseNode, args: TYPE_var, kwargs: dict[str, HoldableObject | MesonInterpreterObject | Sequence[TYPE_elementary] | Sequence[TYPE_var] | bool | dict[str, TYPE_elementary] | dict[str, TYPE_var] | int | str]) -> NoReturn | (self: Self@Interpreter, node: BaseNode, args: Unknown, kwargs: Unknown) -> None | (self: Self@Interpreter, node: Unknown, args: Unknown, kwargs: Unknown) -> Disabler | (self: Self@Interpreter, node: Unknown, args: Unknown, kwargs: Unknown) -> Never | (self: Self@Interpreter, node: Unknown, args: Unknown, kwargs: Unknown) -> None | (self: Self@Interpreter, nodes: Unknown, args: Unknown, kwargs: Unknown) -> Never | Any]) [no-matching-overload]
+ ERROR mesonbuild/interpreter/interpreter.py:325:26-384:30: No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, (self: Interpreter, node: BaseNode, args: TYPE_var, kwargs: dict[str, HoldableObject | MesonInterpreterObject | Sequence[TYPE_elementary] | Sequence[TYPE_var] | bool | dict[str, TYPE_elementary] | dict[str, TYPE_var] | int | str]) -> NoReturn | (self: Interpreter, node: BaseNode, args: Unknown, kwargs: Unknown) -> None | (self: Interpreter, node: Unknown, args: Unknown, kwargs: Unknown) -> Disabler | (self: Interpreter, node: Unknown, args: Unknown, kwargs: Unknown) -> Never | (self: Interpreter, node: Unknown, args: Unknown, kwargs: Unknown) -> None | (self: Self@Interpreter, nodes: Unknown, args: Unknown, kwargs: Unknown) -> Never | Any]) [no-matching-overload]
- ERROR mesonbuild/modules/cmake.py:193:28-202:10: No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, (self: Self@CMakeSubprojectOptions, state: ModuleState, args: TYPE_var, kwargs: dict[str, HoldableObject | MesonInterpreterObject | Sequence[TYPE_elementary] | Sequence[TYPE_var] | bool | dict[str, TYPE_elementary] | dict[str, TYPE_var] | int | str]) -> None | Any]) [no-matching-overload]
+ ERROR mesonbuild/modules/cmake.py:193:28-202:10: No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, (self: CMakeSubprojectOptions, state: ModuleState, args: TYPE_var, kwargs: dict[str, HoldableObject | MesonInterpreterObject | Sequence[TYPE_elementary] | Sequence[TYPE_var] | bool | dict[str, TYPE_elementary] | dict[str, TYPE_var] | int | str]) -> None | Any]) [no-matching-overload]
- ERROR mesonbuild/modules/modtest.py:22:28-24:11: No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, (self: Self@TestModule, state: ModuleState, args: list[TYPE_var], kwargs: dict[str, HoldableObject | MesonInterpreterObject | Sequence[TYPE_elementary] | Sequence[TYPE_var] | bool | dict[str, TYPE_elementary] | dict[str, TYPE_var] | int | str]) -> None]) [no-matching-overload]
+ ERROR mesonbuild/modules/modtest.py:22:28-24:11: No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, (self: TestModule, state: ModuleState, args: list[TYPE_var], kwargs: dict[str, HoldableObject | MesonInterpreterObject | Sequence[TYPE_elementary] | Sequence[TYPE_var] | bool | dict[str, TYPE_elementary] | dict[str, TYPE_var] | int | str]) -> None]) [no-matching-overload]
+ ERROR mesonbuild/mtest.py:965:32-72: Argument `type[TestRun]` is not assignable to parameter `cls` with type `type[Self@TestRun]` in function `object.__new__` [bad-argument-type]
archinstall (https://github.com/archlinux/archinstall)
+ ERROR archinstall/lib/models/device.py:226:10-52: Returned type `PartitionTable` is not assignable to declared return type `Self@PartitionTable` [bad-return]
+ ERROR archinstall/lib/models/device.py:426:10-75: `-` is not supported between `Self@Size` and `Size` [unsupported-operation]
+ ERROR archinstall/lib/models/device.py:429:10-52: `-` is not supported between `Self@Size` and `Size` [unsupported-operation]
+ ERROR archinstall/lib/models/device.py:648:10-14: Returned type `list[SubvolumeModification]` is not assignable to declared return type `list[Self@SubvolumeModification]` [bad-return]
+ ERROR archinstall/lib/models/device.py:1415:10-1420:4: Returned type `dict[str, EncryptionType]` is not assignable to declared return type `dict[str, Self@EncryptionType]` [bad-return]
+ ERROR archinstall/lib/models/mirrors.py:209:10-17: Returned type `list[CustomRepository]` is not assignable to declared return type `list[Self@CustomRepository]` [bad-return]
+ ERROR archinstall/lib/models/mirrors.py:230:10-17: Returned type `list[CustomServer]` is not assignable to declared return type `list[Self@CustomServer]` [bad-return]
+ ERROR archinstall/lib/models/network.py:224:10-18: Returned type `list[WifiConfiguredNetwork]` is not assignable to declared return type `list[Self@WifiConfiguredNetwork]` [bad-return]
CPython (cases_generator) (https://github.com/python/cpython)
- ERROR Tools/cases_generator/parsing.py:333:5-16: Argument `(self: Self@Parser) -> Family | InstDef | LabelDef | Macro | Pseudo | None` is not assignable to parameter `func` with type `(Self@Parser) -> Family | None` in function `contextual` [bad-argument-type]
+ ERROR Tools/cases_generator/parsing.py:333:5-16: Argument `(self: Parser) -> Family | InstDef | LabelDef | Macro | Pseudo | None` is not assignable to parameter `func` with type `(Parser) -> Family | None` in function `contextual` [bad-argument-type]
- ERROR Tools/cases_generator/parsing.py:429:5-16: Argument `(self: Self@Parser) -> CacheEffect | StackEffect | None` is not assignable to parameter `func` with type `(Self@Parser) -> CacheEffect | None` in function `contextual` [bad-argument-type]
+ ERROR Tools/cases_generator/parsing.py:429:5-16: Argument `(self: Parser) -> CacheEffect | StackEffect | None` is not assignable to parameter `func` with type `(Parser) -> CacheEffect | None` in function `contextual` [bad-argument-type]
- ERROR Tools/cases_generator/parsing.py:535:5-16: Argument `(self: Self@Parser) -> CacheEffect | OpName | None` is not assignable to parameter `func` with type `(Self@Parser) -> CacheEffect | None` in function `contextual` [bad-argument-type]
+ ERROR Tools/cases_generator/parsing.py:535:5-16: Argument `(self: Parser) -> CacheEffect | OpName | None` is not assignable to parameter `func` with type `(Parser) -> CacheEffect | None` in function `contextual` [bad-argument-type]
python-chess (https://github.com/niklasf/python-chess)
+ ERROR chess/__init__.py:4220:9-4221:26: Pyrefly detected conflicting types while breaking a dependency cycle: `SquareSet | Self@SquareSet` is not assignable to `Self@SquareSet`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR chess/__init__.py:4228:9-4229:26: Pyrefly detected conflicting types while breaking a dependency cycle: `SquareSet | Self@SquareSet` is not assignable to `Self@SquareSet`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR chess/pgn.py:270:9-271:31: Pyrefly detected conflicting types while breaking a dependency cycle: `GameNode | Self@GameNode` is not assignable to `Self@GameNode`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR chess/pgn.py:292:9-293:38: Pyrefly detected conflicting types while breaking a dependency cycle: `ChildNode | Self@GameNode` is not assignable to `Self@GameNode`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR chess/pgn.py:329:9-335:26: Pyrefly detected conflicting types while breaking a dependency cycle: `GameNode | Self@GameNode` is not assignable to `Self@GameNode`. Adding explicit type annotations might possibly help. [bad-assignment]
+ ERROR chess/pgn.py:442:9-444:34: Pyrefly detected conflicting types while breaking a dependency cycle: `ChildNode | Self@GameNode` is not assignable to `Self@GameNode`. Adding explicit type annotations might possibly help. [bad-assignment]
scrapy (https://github.com/scrapy/scrapy)
- ERROR tests/test_utils_defer.py:146:5-28: Argument `(self: Self@TestAsyncDefTestsuite) -> AsyncGenerator[None, Unknown]` is not assignable to parameter `coro_f` with type `(self: Self@TestAsyncDefTestsuite) -> Awaitable[@_]` in function `scrapy.utils.defer.deferred_f_from_coro_f` [bad-argument-type]
+ ERROR tests/test_utils_defer.py:146:5-28: Argument `(self: TestAsyncDefTestsuite) -> AsyncGenerator[None, Unknown]` is not assignable to parameter `coro_f` with type `(self: TestAsyncDefTestsuite) -> Awaitable[@_]` in function `scrapy.utils.defer.deferred_f_from_coro_f` [bad-argument-type]
psycopg (https://github.com/psycopg/psycopg)
+ ERROR psycopg/psycopg/pq/pq_ctypes.py:107:35-39: Argument `Self@psycopg.psycopg.pq.pq_ctypes.PGconn` is not assignable to parameter `pgconn` with type `psycopg.psycopg.pq.abc.PGconn` in function `psycopg.psycopg.pq.misc.connection_summary` [bad-argument-type]
- ERROR psycopg/psycopg/types/multirange.py:217:28-48: Cannot instantiate `BaseMultirangeDumper` because the following members are abstract: `dump` [bad-instantiation]
- ERROR psycopg/psycopg/types/range.py:318:28-48: Cannot instantiate `BaseRangeDumper` because the following members are abstract: `dump` [bad-instantiation]
altair (https://github.com/vega/altair)
+ ERROR tests/altair_theme_test.py:47:9-49:16: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/altair_theme_test.py:55:9-57:16: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/altair_theme_test.py:65:9-69:16: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/altair_theme_test.py:78:9-80:26: Object of class `MarkMethodMixin` has no attribute `transform_filter` [missing-attribute]
+ ERROR tests/altair_theme_test.py:95:9-97:16: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/altair_theme_test.py:104:9-106:16: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/altair_theme_test.py:118:9-125:16: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/airport_connections.py:28:14-31:13: Object of class `MarkMethodMixin` has no attribute `properties` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/airport_connections.py:36:15-72: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/airport_connections.py:52:10-57: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/annual_weather_heatmap.py:11:1-88: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/anscombe_plot.py:20:1-39: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/area_chart_gradient.py:14:1-27:9: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/area_faceted.py:14:1-16:21: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_and_line_with_dual_axis.py:16:7-29: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_and_line_with_dual_axis.py:18:9-43: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_faceted_compact.py:43:1-66: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_horizontal.py:12:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_sorted.py:12:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_highlighted_bar.py:17:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_highlighted_segment.py:14:8-43: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_highlighted_segment.py:19:13-63: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_highlighted_segment.py:27:8-47: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_labels.py:18:1-53: `+` is not supported between `MarkMethodMixin` and `MarkMethodMixin` [unsupported-operation]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_labels_measured_luminance.py:18:8-20:9: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_mean_line.py:12:7-42: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_mean_line.py:17:8-55: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_negatives.py:15:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_range.py:12:7-68: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_range.py:18:12-68: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_range.py:24:12-66: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_single_threshold.py:16:8-60: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_chart_with_single_threshold.py:27:8-38: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_faceted_stacked.py:14:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_rounded.py:12:1-15:9: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_with_rolling_mean.py:12:7-42: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bar_with_rolling_mean.py:17:8-65: Object of class `MarkMethodMixin` has no attribute `transform_window` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/beckers_barley_facet.py:18:1-66: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/beckers_barley_wrapped_facet.py:18:1-38: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/boxplot.py:15:1-56: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bubble_plot.py:12:1-38: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/bump_chart.py:17:1-49: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/calculate_residuals.py:18:5-20:22: Object of class `MarkMethodMixin` has no attribute `transform_filter` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/candlestick_chart.py:32:8-31: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/candlestick_chart.py:41:7-29: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/choropleth.py:13:1-43: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/choropleth_repeat.py:14:1-41: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/co2_concentration.py:43:8-31: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/comet_chart.py:15:5-20:12: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/cumulative_count_chart.py:15:1-18:21: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/dendrogram.py:102:12-35: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/dendrogram.py:107:8-31: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/dendrogram.py:112:8-31: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/dendrogram.py:122:14-126:9: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/density_repeat.py:16:1-26:21: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/density_stack.py:18:1-24:21: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/deviation_ellipses.py:75:10-69: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/deviation_ellipses.py:80:9-74: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/distributions_and_medians_of_likert_scale_ratings.py:241:5-248:12: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/distributions_and_medians_of_likert_scale_ratings.py:262:9-45: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/distributions_and_medians_of_likert_scale_ratings.py:271:12-54: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/distributions_and_medians_of_likert_scale_ratings.py:273:12-54: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/distributions_faceted_histogram.py:16:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/diverging_stacked_bar_chart.py:264:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/donut_chart.py:15:1-50: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/dot_dash_plot.py:19:10-34: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/dot_dash_plot.py:29:11-34: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/dot_dash_plot.py:35:11-34: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/empirical_cumulative_distribution_function.py:12:1-17:9: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/errorbars_with_ci.py:14:14-65: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/errorbars_with_ci.py:19:10-73: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/errorbars_with_std.py:13:14-68: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/errorbars_with_std.py:18:10-73: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/falkensee.py:61:8-59: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/falkensee.py:68:8-48: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/filled_step_chart.py:12:1-16:9: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/gantt_chart.py:16:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/gapminder_bubble_plot.py:14:1-39: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/groupby-map.py:14:14-17:13: Object of class `MarkMethodMixin` has no attribute `properties` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/groupby-map.py:23:10-28:23: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/grouped_bar_chart.py:12:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/grouped_bar_chart2.py:15:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/grouped_bar_chart_horizontal.py:12:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/grouped_bar_chart_overlapping_bars.py:25:5-67: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/grouped_bar_chart_overlapping_bars.py:26:5-33: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/grouped_bar_chart_with_error_bars.py:12:8-37: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/grouped_bar_chart_with_error_bars.py:18:14-59: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/heat_lane.py:37:10-71: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/heat_lane.py:40:10-79: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/hexbins.py:26:1-65: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/histogram_gradient_color.py:13:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/histogram_heatmap.py:12:1-37: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/histogram_responsive.py:16:8-18:20: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/histogram_scatterplot.py:12:1-39: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/histogram_with_a_global_mean_overlay.py:14:7-29: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/histogram_with_a_global_mean_overlay.py:19:8-42: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/horizon_graph.py:23:9-26:9: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
+ ERROR tests/examples_arguments_syntax/horizontal_stacked_bar_chart.py:12:1-36: Object of class `MarkMethodMixin` has no attribute `encode` [missing-attribute]
... (truncated 65 lines) ...``` |
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.
Summary
NOTE: I want to get some early reviews for this subtyping change before I spend more time investigating type errors in the wild. If this is a change that has a path to lead to acceptable, I'll work towards that.
This diff proposes the removal of the subtyping rule of ClassType <: SelfType. The observations leading to this change are as follows:
The implementation follows these ideas, I created a helper function to convert all Self types into regular class types, and applies the transformation at the following places:
To avoid cycles, we skip overload consistency checks on the
selforclsparameter, since subtyping checks will trigger variance checks, which in turn causes cycles. To compensate, we add some inheritance checks onselfandclsto ensure we don't accept bad receiver types.Test Plan
Conformance test cases, regression test cases, and checking for errors in the wild