WIP: [RFC] Remove ClassType <: SelfType subtyping rule#2658
WIP: [RFC] Remove ClassType <: SelfType subtyping rule#2658fangyi-zhou wants to merge 11 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>
|
Diff from mypy_primer, showing the effect of this PR on open source code: urllib3 (https://github.com/urllib3/urllib3)
+ ERROR src/urllib3/_collections.py:437:16-21: Returned type `HTTPHeaderDict` is not assignable to declared return type `Self@HTTPHeaderDict` [bad-return]
+ ERROR src/urllib3/_collections.py:487:16-22: Returned type `HTTPHeaderDict` is not assignable to declared return type `Self@HTTPHeaderDict` [bad-return]
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]
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]
hydpy (https://github.com/hydpy-dev/hydpy)
- ERROR hydpy/auxs/calibtools.py:1750:9-17: Overload return type `Add | Multiply | MultiplyIUH | Replace | ReplaceIUH` is not assignable to implementation return type `Add | Multiply` [inconsistent-overload]
+ ERROR hydpy/core/masktools.py:99:16-33: Returned type `CustomMask` is not assignable to declared return type `Self@CustomMask` [bad-return]
+ ERROR hydpy/core/masktools.py:163:16-31: Returned type `DefaultMask` is not assignable to declared return type `Self@DefaultMask` [bad-return]
+ ERROR hydpy/core/masktools.py:166:16-51: Returned type `DefaultMask` is not assignable to declared return type `Self@DefaultMask` [bad-return]
+ 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]
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]
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:113:9-16: Overload return type `None` is not assignable to implementation return type `Self@Vector` [inconsistent-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]
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]
pyodide (https://github.com/pyodide/pyodide)
- ERROR src/py/_pyodide/_core_docs.py:971:9-20: Overload return type `object` is not assignable to implementation return type `Never` [inconsistent-overload]
- ERROR src/py/_pyodide/_core_docs.py:974:9-20: Overload return type `JsArray[object]` is not assignable to implementation return type `Never` [inconsistent-overload]
+ 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]
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]
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]
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]
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]
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]
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]
+ ERROR pydantic/fields.py:1563:16-1577:10: Returned type `ComputedFieldInfo` is not assignable to declared return type `Self@ComputedFieldInfo` [bad-return]
+ ERROR pydantic/main.py:988:16-17: Returned type `BaseModel` is not assignable to declared return type `Self@BaseModel` [bad-return]
+ ERROR pydantic/main.py:1009:16-17: Returned type `BaseModel` is not assignable to declared return type `Self@BaseModel` [bad-return]
+ ERROR pydantic/root_model.py:106:16-17: Returned type `RootModel[Unknown]` is not assignable to declared return type `Self@RootModel` [bad-return]
+ ERROR pydantic/root_model.py:116:16-17: Returned type `RootModel[Unknown]` is not assignable to declared return type `Self@RootModel` [bad-return]
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]
dedupe (https://github.com/dedupeio/dedupe)
- ERROR dedupe/api.py:140:9-18: Overload return type `Iterable[tuple[tuple[int, ...], ndarray[tuple[Any, ...], dtype[float64]] | tuple[float, ...]]]` is not assignable to implementation return type `list[tuple[tuple[int, ...], ndarray[tuple[Any, ...], dtype[float64]] | tuple[float, ...]]]` [inconsistent-overload]
- ERROR dedupe/api.py:146:9-18: Overload return type `Iterable[tuple[tuple[str, ...], ndarray[tuple[Any, ...], dtype[float64]] | tuple[float, ...]]]` is not assignable to implementation return type `list[tuple[tuple[int, ...], ndarray[tuple[Any, ...], dtype[float64]] | tuple[float, ...]]]` [inconsistent-overload]
- ERROR dedupe/api.py:199:9-24: Overload return type `Iterable[tuple[tuple[int, ...], ndarray[tuple[Any, ...], dtype[float64]] | tuple[float, ...]]]` is not assignable to implementation return type `Generator[tuple[tuple[Unknown], tuple[float]] | tuple[Unknown, Unknown], Unknown]` [inconsistent-overload]
- ERROR dedupe/api.py:205:9-24: Overload return type `Iterable[tuple[tuple[str, ...], ndarray[tuple[Any, ...], dtype[float64]] | tuple[float, ...]]]` is not assignable to implementation return type `Generator[tuple[tuple[Unknown], tuple[float]] | tuple[Unknown, Unknown], Unknown]` [inconsistent-overload]
- ERROR dedupe/api.py:779:9-15: Overload return type `Iterator[list[tuple[tuple[int, Mapping[str, Any]], tuple[int, Mapping[str, Any]]]]]` is not assignable to implementation return type `Generator[list[tuple[tuple[Any, Unknown], tuple[Any, Mapping[str, Any]]]], Unknown]` [inconsistent-overload]
- ERROR dedupe/api.py:782:9-15: Overload return type `Iterator[list[tuple[tuple[str, Mapping[str, Any]], tuple[str, Mapping[str, Any]]]]]` is not assignable to implementation return type `Generator[list[tuple[tuple[Any, Unknown], tuple[Any, Mapping[str, Any]]]], Unknown]` [inconsistent-overload]
- ERROR dedupe/api.py:998:9-31: Overload return type `Iterable[tuple[int, tuple[tuple[int, float], ...]]]` is not assignable to implementation return type `Generator[tuple[Unknown, tuple[tuple[RecordID, float], ...]] | tuple[Unknown, tuple[()]], Unknown]` [inconsistent-overload]
- ERROR dedupe/api.py:1003:9-31: Overload return type `Iterable[tuple[str, tuple[tuple[str, float], ...]]]` is not assignable to implementation return type `Generator[tuple[Unknown, tuple[tuple[RecordID, float], ...]] | tuple[Unknown, tuple[()]], Unknown]` [inconsistent-overload]
- ERROR dedupe/training.py:222:9-21: Overload return type `dict[Predicate, frozenset[tuple[int, int]]]` is not assignable to implementation return type `dict[Predicate, frozenset[tuple[RecordID, RecordID]]]` [inconsistent-overload]
- ERROR dedupe/training.py:227:9-21: Overload return type `dict[Predicate, frozenset[tuple[str, str]]]` is not assignable to implementation return type `dict[Predicate, frozenset[tuple[RecordID, RecordID]]]` [inconsistent-overload]
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]
parso (https://github.com/davidhalter/parso)
+ ERROR parso/tree.py:41:9-42:33: Pyrefly detected conflicting types while breaking a dependency cycle: `BaseNode | Self@NodeOrLeaf` is not assignable to `Self@NodeOrLeaf`. Adding explicit type annotations might possibly help. [bad-assignment]
strawberry (https://github.com/strawberry-graphql/strawberry)
+ ERROR strawberry/types/base.py:141:16-40: Returned type `StrawberryContainer` is not assignable to declared return type `Self@StrawberryContainer` [bad-return]
+ ERROR strawberry/types/field.py:192:16-25: Returned type `StrawberryField` is not assignable to declared return type `Self@StrawberryField` [bad-return]
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]
hydra-zen (https://github.com/mit-ll-responsible-ai/hydra-zen)
+ ERROR src/hydra_zen/wrapper/_implementations.py:1579:20-22: Returned type `ZenStore` is not assignable to declared return type `F | Self@ZenStore` [bad-return]
prefect (https://github.com/PrefectHQ/prefect)
- ERROR src/integrations/prefect-dask/prefect_dask/task_runners.py:453:9-12: Overload return type `PrefectFutureList[PrefectDaskFuture[object]]` is not assignable to implementation return type `PrefectFutureList[PrefectConcurrentFuture[Any]]` [inconsistent-overload]
- ERROR src/integrations/prefect-dask/prefect_dask/task_runners.py:461:9-12: Overload return type `PrefectFutureList[PrefectDaskFuture[object]]` is not assignable to implementation return type `PrefectFutureList[PrefectConcurrentFuture[Any]]` [inconsistent-overload]
- 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/integrations/prefect-ray/prefect_ray/task_runners.py:225:9-15: Overload return type `PrefectRayFuture[object]` is not assignable to implementation return type `PrefectRayFuture[Coroutine[Any, Any, object]]` [inconsistent-overload]
- ERROR src/integrations/prefect-ray/prefect_ray/task_runners.py:293:9-12: Overload return type `PrefectFutureList[PrefectRayFuture[object]]` is not assignable to implementation return type `PrefectFutureList[PrefectRayFuture[Coroutine[Any, Any, object]]]` [inconsistent-overload]
- 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: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/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]
... (truncated 158 lines) ...
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]
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]
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]
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]
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]
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/interpreter/interpreter.py:3192:9-32: Overload return type `list[File]` is not assignable to implementation return type `list[SourceOutputs]` [inconsistent-overload]
- ERROR mesonbuild/interpreter/interpreter.py:3195:9-32: Overload return type `list[FileOrString]` is not assignable to implementation return type `list[SourceOutputs]` [inconsistent-overload]
- ERROR mesonbuild/interpreter/interpreter.py:3198:9-32: Overload return type `list[CustomTarget | CustomTargetIndex | File | GeneratedList]` is not assignable to implementation return type `list[SourceOutputs]` [inconsistent-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]
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:1568:16-21: Returned type `BaseBoard` is not assignable to declared return type `Self@BaseBoard` [bad-return]
+ ERROR chess/__init__.py:1852:20-25: Returned type `Board` is not assignable to declared return type `Self@Board` [bad-return]
+ ERROR chess/__init__.py:3062:59-103: Argument `() -> Board` is not assignable to parameter `make_board` with type `() -> Self@Board` in function `Board._parse_epd_ops` [bad-argument-type]
+ 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]
+ ERROR chess/pgn.py:1050:16-32: Returned type `Headers` is not assignable to declared return type `Self@Headers` [bad-return]
+ ERROR chess/variant.py:732:59-103: Argument `() -> ThreeCheckBoard` is not assignable to parameter `make_board` with type `() -> Self@ThreeCheckBoard` in function `chess.Board._parse_epd_ops` [bad-argument-type]
+ ERROR chess/variant.py:868:16-22: Returned type `CrazyhousePocket` is not assignable to declared return type `Self@CrazyhousePocket` [bad-return]
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]
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]
- ERROR python/egglog/egraph.py:1004:9-16: Overload signature `(self: Self@EGraph, expr: BASE_EXPR, /, include_cost: Literal[True], cost_model: None = None) -> tuple[BASE_EXPR, int]` is not consistent with implementation signature `(self: Self@EGraph, expr: BASE_EXPR, /, include_cost: bool = False, cost_model: CostModel[COST] | None = None) -> tuple[BASE_EXPR, COST] | BASE_EXPR` [inconsistent-overload]
altair (https://github.com/vega/altair)
+ ERROR altair/vegalite/v6/api.py:1203:16-83: Returned type `Then[@_]` is not assignable to declared return type `Self@Then` [bad-return]
+ 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]
... (truncated 136 lines) ...``` |
Primer Diff Classification❌ 15 regression(s) | ✅ 24 improvement(s) | ➖ 4 neutral | 43 project(s) total 15 regression(s) across trio, hydpy, mongo-python-driver, operator, dd-trace-py, asynq, discord.py, parso, isort, optuna, jax, meson, scrapy, altair, artigraph. error kinds:
Detailed analysis❌ Regression (15)trio (+4, -1)
hydpy (+10, -1)
mongo-python-driver (+1)
operator (+1)
dd-trace-py (+1)
asynq (+12, -22)
discord.py (+1)
parso (+1)
isort (+1)
optuna (+8)
jax (+1)
meson (+4, -6)
scrapy (+1, -1)
altair (+653, -5)
artigraph (+30, -1)
The PR description states this is experimental ("WIP: [RFC]") and the author is "running mypy primer to see if this fix causes major regressions" - suggesting they expect this change to be problematic. Mypy/pyright would not flag these patterns because
✅ Improvement (24)urllib3 (+2)
black (+1)
Expression (+2, -6)
archinstall (+8)
ppb-vector (-2)
core (+38, -4)
pyodide (+1, -2)
pandera (+1, -2)
rich (+8)
pydantic (+6)
These are genuine type-level violations. When a subclass overrides these methods, the return type should be the subclass type (Self), not the base class type. The old behavior allowed The PR description indicates this is intentional spec compliance work ("Remove ClassType <: SelfType subtyping rule"), and the conformance test improvements show pyrefly is now correctly catching these violations that the typing spec requires.
jinja (+3)
streamlit (-1)
dedupe (-10)
strawberry (+2)
hydra-zen (+1)
prefect (+221, -54)
static-frame (+43, -2)
mypy (+7, -7)
pip (+8)
The PR removed the subtyping rule that
pycryptodome (+1)
sphinx (+8)
python-chess (+12)
psycopg (+1)
egglog-python (+2, -1)
➖ Neutral (4)tornado (+3, -3)
mkdocs (+1, -1)
mitmproxy (+1, -1)
bokeh (+1, -1)
Suggested FixSummary: The PR removes ClassType <: SelfType subtyping rule too broadly, causing false positives in legitimate patterns like super().new(cls) and type(self)() constructors. 1. In
2. In
3. In
Was this helpful? React with 👍 or 👎 Classification by primer-classifier (4 heuristic, 39 LLM) |
Summary
TBD -- running mypy primer to see if this fix causes major regressions
Test Plan