Compare commits

...

10 Commits

Author SHA1 Message Date
David Peter
57ae02a081 [ty] A todo type for type[T] 2025-11-25 11:28:41 +01:00
Micha Reiser
747c39a26a [ty] Add more and update existing projects in ty_benchmark (#21536) 2025-11-25 08:58:34 +01:00
Shunsuke Shibayama
dd15656deb [ty] fix ty playground initialization and vite optimization issues (#21471)
Co-authored-by: Micha Reiser <micha@reiser.io>
2025-11-25 07:42:56 +00:00
Alex Waygood
adf095e889 [ty] Extend Liskov checks to also cover classmethods and staticmethods (#21598)
## Summary

Building on https://github.com/astral-sh/ruff/pull/21436.

There's nothing conceptually more complicated about this, it just
requires its own set of tests and its own subdiagnostic hint.

I also uncovered another inconsistency between mypy/pyright/pyrefly,
which is fun. In this case, I suggest we go with pyright's behaviour.

## Test Plan

mdtests/snapshots
2025-11-24 23:14:06 +00:00
Alex Waygood
bfd65c4215 Dogfood ty on the scripts directory (#21617)
## Summary

This PR sets up CI jobs to run ty from the `main` branch on the files
and subdirectories in our `scripts` directory

## Test Plan

Both these commands pass for me locally:
- `uv run --project=./scripts cargo run -p ty check --project=./scripts`
- `uv run --project=./scripts/ty_benchmark cargo run -p ty check
--project=./scripts/ty_benchmark`
2025-11-24 23:13:44 +00:00
Jack O'Connor
0631e72187 [ty] support generic aliases in type[...], like type[C[int]] (#21552)
Closes https://github.com/astral-sh/ty/issues/1101.
2025-11-24 13:56:42 -08:00
Alex Waygood
bab688b76c [ty] Retain the function-like-ness of Callable types when binding self (#21614)
## Summary

For something like this:

```py
from typing import Callable

def my_lossy_decorator(fn: Callable[..., int]) -> Callable[..., int]:
    return fn

class MyClass:
    @my_lossy_decorator
    def method(self) -> int:
        return 42
```

we will currently infer the type of `MyClass.method` as a function-like
`Callable`, but we will infer the type of `MyClass().method` as a
`Callable` that is _not_ function-like. That's because a `CallableType`
currently "forgets" whether it was function-like or not during the
`bound_self` transformation:


a57e291311/crates/ty_python_semantic/src/types.rs (L10985-L10987)

This seems incorrect, and it's quite different to what we do when
binding the `self` parameter of `FunctionLiteral` types: `BoundMethod`
types are all seen as subtypes of function-like `Callable` supertypes --
here's `BoundMethodType::into_callable_type`:


a57e291311/crates/ty_python_semantic/src/types.rs (L10844-L10860)

The bug here is also causing lots of false positives in the ecosystem
report on https://github.com/astral-sh/ruff/pull/21611: a decorated
method on a subclass is currently not seen as validly overriding an
undecorated method with the same signature on a superclass, because the
undecorated superclass method is seen as function-like after binding
`self` whereas the decorated subclass method is not.

Fixing the bug required adding a new API in `protocol_class.rs`, because
it turns out that for our purposes in protocol subtyping/assignability,
we really do want a callable type to forget its function-like-ness when
binding `self`.

I initially tried out this change without changing anything in
`protocol_class.rs`. However, it resulted in many ecosystem false
positives and new false positives on the typing conformance test suite.
This is because it would mean that no protocol with a `__call__` method
would ever be seen as a subtype of a `Callable` type, since the
`__call__` method on the protocol would be seen as being function-like
whereas the `Callable` type would not be seen as function-like.

## Test Plan

Added an mdtest that fails on `main`
2025-11-24 21:14:03 +00:00
Douglas Creager
7e277667d1 [ty] Distinguish "unconstrained" from "constrained to any type" (#21539)
Before, we would collapse any constraint of the form `Never ≤ T ≤
object` down to the "always true" constraint set. This is correct in
terms of BDD semantics, but loses information, since "not constraining a
typevar at all" is different than "constraining a typevar to take on any
type". Once we get to specialization inference, we should fall back on
the typevar's default for the former, but not for the latter.

This is much easier to support now that we have a sequent map, since we
need to treat `¬(Never ≤ T ≤ object)` as being impossible, and prune it
when we walk through BDD paths, just like we do for other impossible
combinations.
2025-11-24 15:23:09 -05:00
Alex Waygood
d379f3826f Disable ty workspace diagnostics for VSCode users (#21620) 2025-11-24 20:06:09 +00:00
Matthew Mckee
6f9265d78d [ty] Double click to insert inlay hint (#21600)
<!--
Thank you for contributing to Ruff/ty! To help us out with reviewing,
please consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title? (Please prefix
with `[ty]` for ty pull
  requests.)
- Does this pull request include references to any relevant issues?
-->

## Summary

Resolves
https://github.com/astral-sh/ty/issues/317#issuecomment-3567398107.

I can't get the auto import working great.

I haven't added many places where we specify that the type display is
invalid syntax.

## Test Plan

Nothing yet
2025-11-24 19:48:30 +00:00
79 changed files with 189493 additions and 689 deletions

View File

@@ -284,6 +284,10 @@ jobs:
run: cargo insta test --all-features --unreferenced reject --test-runner nextest
- name: Dogfood ty on py-fuzzer
run: uv run --project=./python/py-fuzzer cargo run -p ty check --project=./python/py-fuzzer
- name: Dogfood ty on the scripts directory
run: uv run --project=./scripts cargo run -p ty check --project=./scripts
- name: Dogfood ty on ty_benchmark
run: uv run --project=./scripts/ty_benchmark cargo run -p ty check --project=./scripts/ty_benchmark
# Check for broken links in the documentation.
- run: cargo doc --all --no-deps
env:

View File

@@ -5,5 +5,6 @@
"rust-analyzer.check.command": "clippy",
"search.exclude": {
"**/*.snap": true
}
},
"ty.diagnosticMode": "openFilesOnly"
}

138
crates/ty/docs/rules.md generated
View File

@@ -39,7 +39,7 @@ def test(): -> "int":
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20call-non-callable" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L126" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L127" target="_blank">View source</a>
</small>
@@ -63,7 +63,7 @@ Calling a non-callable object will raise a `TypeError` at runtime.
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20conflicting-argument-forms" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L170" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L171" target="_blank">View source</a>
</small>
@@ -95,7 +95,7 @@ f(int) # error
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20conflicting-declarations" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L196" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L197" target="_blank">View source</a>
</small>
@@ -126,7 +126,7 @@ a = 1
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20conflicting-metaclass" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L221" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L222" target="_blank">View source</a>
</small>
@@ -158,7 +158,7 @@ class C(A, B): ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20cyclic-class-definition" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L247" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L248" target="_blank">View source</a>
</small>
@@ -190,7 +190,7 @@ class B(A): ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20duplicate-base" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L312" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L313" target="_blank">View source</a>
</small>
@@ -217,7 +217,7 @@ class B(A, A): ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.12">0.0.1-alpha.12</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20duplicate-kw-only" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L333" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L334" target="_blank">View source</a>
</small>
@@ -329,7 +329,7 @@ def test(): -> "Literal[5]":
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20inconsistent-mro" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L537" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L538" target="_blank">View source</a>
</small>
@@ -359,7 +359,7 @@ class C(A, B): ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20index-out-of-bounds" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L561" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L562" target="_blank">View source</a>
</small>
@@ -385,7 +385,7 @@ t[3] # IndexError: tuple index out of range
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.12">0.0.1-alpha.12</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20instance-layout-conflict" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L365" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L366" target="_blank">View source</a>
</small>
@@ -474,7 +474,7 @@ an atypical memory layout.
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-argument-type" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L615" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L616" target="_blank">View source</a>
</small>
@@ -501,7 +501,7 @@ func("foo") # error: [invalid-argument-type]
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-assignment" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L655" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L656" target="_blank">View source</a>
</small>
@@ -529,7 +529,7 @@ a: int = ''
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-attribute-access" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1814" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1815" target="_blank">View source</a>
</small>
@@ -563,7 +563,7 @@ C.instance_var = 3 # error: Cannot assign to instance variable
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.19">0.0.1-alpha.19</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-await" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L677" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L678" target="_blank">View source</a>
</small>
@@ -599,7 +599,7 @@ asyncio.run(main())
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-base" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L707" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L708" target="_blank">View source</a>
</small>
@@ -623,7 +623,7 @@ class A(42): ... # error: [invalid-base]
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-context-manager" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L758" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L759" target="_blank">View source</a>
</small>
@@ -650,7 +650,7 @@ with 1:
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-declaration" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L779" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L780" target="_blank">View source</a>
</small>
@@ -679,7 +679,7 @@ a: str
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-exception-caught" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L802" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L803" target="_blank">View source</a>
</small>
@@ -723,7 +723,7 @@ except ZeroDivisionError:
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-generic-class" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L838" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L839" target="_blank">View source</a>
</small>
@@ -756,7 +756,7 @@ class C[U](Generic[T]): ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.17">0.0.1-alpha.17</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-key" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L582" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L583" target="_blank">View source</a>
</small>
@@ -795,7 +795,7 @@ carol = Person(name="Carol", age=25) # typo!
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-legacy-type-variable" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L864" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L865" target="_blank">View source</a>
</small>
@@ -830,7 +830,7 @@ def f(t: TypeVar("U")): ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-metaclass" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L961" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L962" target="_blank">View source</a>
</small>
@@ -864,7 +864,7 @@ class B(metaclass=f): ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.20">0.0.1-alpha.20</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-method-override" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1942" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1943" target="_blank">View source</a>
</small>
@@ -950,7 +950,7 @@ and `__ne__` methods accept `object` as their second argument.
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.19">0.0.1-alpha.19</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-named-tuple" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L511" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L512" target="_blank">View source</a>
</small>
@@ -982,7 +982,7 @@ TypeError: can only inherit from a NamedTuple type and Generic
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Preview (since <a href="https://github.com/astral-sh/ty/releases/tag/1.0.0">1.0.0</a>) ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-newtype" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L937" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L938" target="_blank">View source</a>
</small>
@@ -1012,7 +1012,7 @@ Baz = NewType("Baz", int | str) # error: invalid base for `typing.NewType`
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-overload" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L988" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L989" target="_blank">View source</a>
</small>
@@ -1062,7 +1062,7 @@ def foo(x: int) -> int: ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-parameter-default" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1087" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1088" target="_blank">View source</a>
</small>
@@ -1088,7 +1088,7 @@ def f(a: int = ''): ...
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-paramspec" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L892" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L893" target="_blank">View source</a>
</small>
@@ -1119,7 +1119,7 @@ P2 = ParamSpec("S2") # error: ParamSpec name must match the variable it's assig
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-protocol" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L447" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L448" target="_blank">View source</a>
</small>
@@ -1153,7 +1153,7 @@ TypeError: Protocols can only inherit from other protocols, got <class 'int'>
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-raise" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1107" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1108" target="_blank">View source</a>
</small>
@@ -1202,7 +1202,7 @@ def g():
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-return-type" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L636" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L637" target="_blank">View source</a>
</small>
@@ -1227,7 +1227,7 @@ def func() -> int:
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-super-argument" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1150" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1151" target="_blank">View source</a>
</small>
@@ -1285,7 +1285,7 @@ TODO #14889
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.6">0.0.1-alpha.6</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-type-alias-type" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L916" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L917" target="_blank">View source</a>
</small>
@@ -1312,7 +1312,7 @@ NewAlias = TypeAliasType(get_name(), int) # error: TypeAliasType name mus
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-type-checking-constant" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1189" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1190" target="_blank">View source</a>
</small>
@@ -1342,7 +1342,7 @@ TYPE_CHECKING = ''
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-type-form" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1213" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1214" target="_blank">View source</a>
</small>
@@ -1372,7 +1372,7 @@ b: Annotated[int] # `Annotated` expects at least two arguments
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.11">0.0.1-alpha.11</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-type-guard-call" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1265" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1266" target="_blank">View source</a>
</small>
@@ -1406,7 +1406,7 @@ f(10) # Error
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.11">0.0.1-alpha.11</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-type-guard-definition" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1237" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1238" target="_blank">View source</a>
</small>
@@ -1440,7 +1440,7 @@ class C:
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20invalid-type-variable-constraints" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1293" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1294" target="_blank">View source</a>
</small>
@@ -1475,7 +1475,7 @@ T = TypeVar('T', bound=str) # valid bound TypeVar
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20missing-argument" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1322" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1323" target="_blank">View source</a>
</small>
@@ -1500,7 +1500,7 @@ func() # TypeError: func() missing 1 required positional argument: 'x'
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.20">0.0.1-alpha.20</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20missing-typed-dict-key" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1915" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1916" target="_blank">View source</a>
</small>
@@ -1533,7 +1533,7 @@ alice["age"] # KeyError
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20no-matching-overload" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1341" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1342" target="_blank">View source</a>
</small>
@@ -1562,7 +1562,7 @@ func("string") # error: [no-matching-overload]
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20non-subscriptable" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1364" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1365" target="_blank">View source</a>
</small>
@@ -1586,7 +1586,7 @@ Subscripting an object that does not support it will raise a `TypeError` at runt
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20not-iterable" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1382" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1383" target="_blank">View source</a>
</small>
@@ -1612,7 +1612,7 @@ for i in 34: # TypeError: 'int' object is not iterable
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20parameter-already-assigned" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1433" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1434" target="_blank">View source</a>
</small>
@@ -1639,7 +1639,7 @@ f(1, x=2) # Error raised here
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.22">0.0.1-alpha.22</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20positional-only-parameter-as-kwarg" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1668" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1669" target="_blank">View source</a>
</small>
@@ -1697,7 +1697,7 @@ def test(): -> "int":
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20static-assert-error" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1790" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1791" target="_blank">View source</a>
</small>
@@ -1727,7 +1727,7 @@ static_assert(int(2.0 * 3.0) == 6) # error: does not have a statically known tr
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20subclass-of-final-class" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1524" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1525" target="_blank">View source</a>
</small>
@@ -1756,7 +1756,7 @@ class B(A): ... # Error raised here
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20too-many-positional-arguments" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1569" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1570" target="_blank">View source</a>
</small>
@@ -1783,7 +1783,7 @@ f("foo") # Error raised here
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20type-assertion-failure" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1547" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1548" target="_blank">View source</a>
</small>
@@ -1811,7 +1811,7 @@ def _(x: int):
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unavailable-implicit-super-arguments" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1590" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1591" target="_blank">View source</a>
</small>
@@ -1857,7 +1857,7 @@ class A:
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unknown-argument" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1647" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1648" target="_blank">View source</a>
</small>
@@ -1884,7 +1884,7 @@ f(x=1, y=2) # Error raised here
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unresolved-attribute" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1689" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1690" target="_blank">View source</a>
</small>
@@ -1912,7 +1912,7 @@ A().foo # AttributeError: 'A' object has no attribute 'foo'
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unresolved-import" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1711" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1712" target="_blank">View source</a>
</small>
@@ -1937,7 +1937,7 @@ import foo # ModuleNotFoundError: No module named 'foo'
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unresolved-reference" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1730" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1731" target="_blank">View source</a>
</small>
@@ -1962,7 +1962,7 @@ print(x) # NameError: name 'x' is not defined
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unsupported-bool-conversion" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1402" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1403" target="_blank">View source</a>
</small>
@@ -1999,7 +1999,7 @@ b1 < b2 < b1 # exception raised here
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unsupported-operator" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1749" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1750" target="_blank">View source</a>
</small>
@@ -2027,7 +2027,7 @@ A() + A() # TypeError: unsupported operand type(s) for +: 'A' and 'A'
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'error'."><code>error</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20zero-stepsize-in-slice" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1771" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1772" target="_blank">View source</a>
</small>
@@ -2052,7 +2052,7 @@ l[1:10:0] # ValueError: slice step cannot be zero
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.20">0.0.1-alpha.20</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20ambiguous-protocol-member" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L476" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L477" target="_blank">View source</a>
</small>
@@ -2093,7 +2093,7 @@ class SubProto(BaseProto, Protocol):
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.16">0.0.1-alpha.16</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20deprecated" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L291" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L292" target="_blank">View source</a>
</small>
@@ -2181,7 +2181,7 @@ a = 20 / 0 # type: ignore
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.22">0.0.1-alpha.22</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20possibly-missing-attribute" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1454" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1455" target="_blank">View source</a>
</small>
@@ -2209,7 +2209,7 @@ A.c # AttributeError: type object 'A' has no attribute 'c'
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.22">0.0.1-alpha.22</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20possibly-missing-implicit-call" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L144" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L145" target="_blank">View source</a>
</small>
@@ -2241,7 +2241,7 @@ A()[0] # TypeError: 'A' object is not subscriptable
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.22">0.0.1-alpha.22</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20possibly-missing-import" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1476" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1477" target="_blank">View source</a>
</small>
@@ -2273,7 +2273,7 @@ from module import a # ImportError: cannot import name 'a' from 'module'
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20redundant-cast" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1842" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1843" target="_blank">View source</a>
</small>
@@ -2300,7 +2300,7 @@ cast(int, f()) # Redundant
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20undefined-reveal" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1629" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1630" target="_blank">View source</a>
</small>
@@ -2324,7 +2324,7 @@ reveal_type(1) # NameError: name 'reveal_type' is not defined
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.15">0.0.1-alpha.15</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unresolved-global" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1863" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1864" target="_blank">View source</a>
</small>
@@ -2382,7 +2382,7 @@ def g():
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.7">0.0.1-alpha.7</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20unsupported-base" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L725" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L726" target="_blank">View source</a>
</small>
@@ -2421,7 +2421,7 @@ class D(C): ... # error: [unsupported-base]
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'warn'."><code>warn</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.22">0.0.1-alpha.22</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20useless-overload-body" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1031" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1032" target="_blank">View source</a>
</small>
@@ -2484,7 +2484,7 @@ def foo(x: int | str) -> int | str:
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'ignore'."><code>ignore</code></a> ·
Preview (since <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a>) ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20division-by-zero" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L273" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L274" target="_blank">View source</a>
</small>
@@ -2508,7 +2508,7 @@ Dividing by zero raises a `ZeroDivisionError` at runtime.
Default level: <a href="../rules.md#rule-levels" title="This lint has a default level of 'ignore'."><code>ignore</code></a> ·
Added in <a href="https://github.com/astral-sh/ty/releases/tag/0.0.1-alpha.1">0.0.1-alpha.1</a> ·
<a href="https://github.com/astral-sh/ty/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20possibly-unresolved-reference" target="_blank">Related issues</a> ·
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1502" target="_blank">View source</a>
<a href="https://github.com/astral-sh/ruff/blob/main/crates%2Fty_python_semantic%2Fsrc%2Ftypes%2Fdiagnostic.rs#L1503" target="_blank">View source</a>
</small>

View File

@@ -6,8 +6,8 @@ use ruff_db::parsed::parsed_module;
use ruff_python_ast::visitor::source_order::{self, SourceOrderVisitor, TraversalSignal};
use ruff_python_ast::{AnyNodeRef, ArgOrKeyword, Expr, ExprUnaryOp, Stmt, UnaryOp};
use ruff_text_size::{Ranged, TextRange, TextSize};
use ty_python_semantic::types::Type;
use ty_python_semantic::types::ide_support::inlay_hint_call_argument_details;
use ty_python_semantic::types::{Type, TypeDetail};
use ty_python_semantic::{HasType, SemanticModel};
#[derive(Debug, Clone)]
@@ -15,10 +15,12 @@ pub struct InlayHint {
pub position: TextSize,
pub kind: InlayHintKind,
pub label: InlayHintLabel,
pub text_edits: Vec<InlayHintTextEdit>,
}
impl InlayHint {
fn variable_type(position: TextSize, ty: Type, db: &dyn Db) -> Self {
fn variable_type(expr: &Expr, ty: Type, db: &dyn Db, allow_edits: bool) -> Self {
let position = expr.range().end();
// Render the type to a string, and get subspans for all the types that make it up
let details = ty.display(db).to_string_parts();
@@ -34,7 +36,7 @@ impl InlayHint {
let mut label_parts = vec![": ".into()];
for (target, detail) in details.targets.iter().zip(&details.details) {
match detail {
ty_python_semantic::types::TypeDetail::Type(ty) => {
TypeDetail::Type(ty) => {
let start = target.start().to_usize();
let end = target.end().to_usize();
// If we skipped over some bytes, push them with no target
@@ -50,9 +52,9 @@ impl InlayHint {
offset = end;
}
}
ty_python_semantic::types::TypeDetail::SignatureStart
| ty_python_semantic::types::TypeDetail::SignatureEnd
| ty_python_semantic::types::TypeDetail::Parameter(_) => {
TypeDetail::SignatureStart
| TypeDetail::SignatureEnd
| TypeDetail::Parameter(_) => {
// Don't care about these
}
}
@@ -62,10 +64,20 @@ impl InlayHint {
label_parts.push(details.label[offset..details.label.len()].into());
}
let text_edits = if details.is_valid_syntax && allow_edits {
vec![InlayHintTextEdit {
range: TextRange::new(position, position),
new_text: format!(": {}", details.label),
}]
} else {
vec![]
};
Self {
position,
kind: InlayHintKind::Type,
label: InlayHintLabel { parts: label_parts },
text_edits,
}
}
@@ -83,6 +95,7 @@ impl InlayHint {
position,
kind: InlayHintKind::CallArgumentName,
label: InlayHintLabel { parts: label_parts },
text_edits: vec![],
}
}
@@ -175,6 +188,12 @@ impl From<&str> for InlayHintLabelPart {
}
}
#[derive(Debug, Clone)]
pub struct InlayHintTextEdit {
pub range: TextRange,
pub new_text: String,
}
pub fn inlay_hints(
db: &dyn Db,
file: File,
@@ -234,6 +253,7 @@ struct InlayHintVisitor<'a, 'db> {
in_assignment: bool,
range: TextRange,
settings: &'a InlayHintSettings,
in_no_edits_allowed: bool,
}
impl<'a, 'db> InlayHintVisitor<'a, 'db> {
@@ -245,15 +265,16 @@ impl<'a, 'db> InlayHintVisitor<'a, 'db> {
in_assignment: false,
range,
settings,
in_no_edits_allowed: false,
}
}
fn add_type_hint(&mut self, position: TextSize, ty: Type<'db>) {
fn add_type_hint(&mut self, expr: &Expr, ty: Type<'db>, allow_edits: bool) {
if !self.settings.variable_types {
return;
}
let inlay_hint = InlayHint::variable_type(position, ty, self.db);
let inlay_hint = InlayHint::variable_type(expr, ty, self.db, allow_edits);
self.hints.push(inlay_hint);
}
@@ -297,9 +318,13 @@ impl SourceOrderVisitor<'_> for InlayHintVisitor<'_, '_> {
match stmt {
Stmt::Assign(assign) => {
self.in_assignment = !type_hint_is_excessive_for_expr(&assign.value);
if !annotations_are_valid_syntax(assign) {
self.in_no_edits_allowed = true;
}
for target in &assign.targets {
self.visit_expr(target);
}
self.in_no_edits_allowed = false;
self.in_assignment = false;
self.visit_expr(&assign.value);
@@ -325,7 +350,7 @@ impl SourceOrderVisitor<'_> for InlayHintVisitor<'_, '_> {
if self.in_assignment {
if name.ctx.is_store() {
let ty = expr.inferred_type(&self.model);
self.add_type_hint(expr.range().end(), ty);
self.add_type_hint(expr, ty, !self.in_no_edits_allowed);
}
}
source_order::walk_expr(self, expr);
@@ -334,7 +359,7 @@ impl SourceOrderVisitor<'_> for InlayHintVisitor<'_, '_> {
if self.in_assignment {
if attribute.ctx.is_store() {
let ty = expr.inferred_type(&self.model);
self.add_type_hint(expr.range().end(), ty);
self.add_type_hint(expr, ty, !self.in_no_edits_allowed);
}
}
source_order::walk_expr(self, expr);
@@ -420,6 +445,22 @@ fn type_hint_is_excessive_for_expr(expr: &Expr) -> bool {
}
}
fn annotations_are_valid_syntax(stmt_assign: &ruff_python_ast::StmtAssign) -> bool {
if stmt_assign.targets.len() > 1 {
return false;
}
if stmt_assign
.targets
.iter()
.any(|target| matches!(target, Expr::Tuple(_)))
{
return false;
}
true
}
#[cfg(test)]
mod tests {
use super::*;
@@ -427,6 +468,7 @@ mod tests {
use crate::NavigationTarget;
use crate::tests::IntoDiagnostic;
use insta::{assert_snapshot, internals::SettingsBindDropGuard};
use itertools::Itertools;
use ruff_db::{
diagnostic::{
Annotation, Diagnostic, DiagnosticFormat, DiagnosticId, DisplayDiagnosticConfig,
@@ -517,12 +559,15 @@ mod tests {
fn inlay_hints_with_settings(&mut self, settings: &InlayHintSettings) -> String {
let hints = inlay_hints(&self.db, self.file, self.range, settings);
let mut buf = source_text(&self.db, self.file).as_str().to_string();
let mut inlay_hint_buf = source_text(&self.db, self.file).as_str().to_string();
let mut text_edit_buf = inlay_hint_buf.clone();
let mut tbd_diagnostics = Vec::new();
let mut offset = 0;
let mut edit_offset = 0;
for hint in hints {
let end_position = hint.position.to_usize() + offset;
let mut hint_str = "[".to_string();
@@ -538,36 +583,65 @@ mod tests {
hint_str.push_str(part.text());
}
for edit in hint.text_edits {
let start = edit.range.start().to_usize() + edit_offset;
let end = edit.range.end().to_usize() + edit_offset;
text_edit_buf.replace_range(start..end, &edit.new_text);
if start == end {
edit_offset += edit.new_text.len();
} else {
edit_offset += edit.new_text.len() - edit.range.len().to_usize();
}
}
hint_str.push(']');
offset += hint_str.len();
buf.insert_str(end_position, &hint_str);
inlay_hint_buf.insert_str(end_position, &hint_str);
}
self.db.write_file("main2.py", &buf).unwrap();
self.db.write_file("main2.py", &inlay_hint_buf).unwrap();
let inlayed_file =
system_path_to_file(&self.db, "main2.py").expect("newly written file to existing");
let diagnostics = tbd_diagnostics.into_iter().map(|(label_range, target)| {
let location_diagnostics = tbd_diagnostics.into_iter().map(|(label_range, target)| {
InlayHintLocationDiagnostic::new(FileRange::new(inlayed_file, label_range), &target)
});
let mut rendered_diagnostics = self.render_diagnostics(diagnostics);
let mut rendered_diagnostics = location_diagnostics
.map(|diagnostic| self.render_diagnostic(diagnostic))
.join("");
if !rendered_diagnostics.is_empty() {
rendered_diagnostics = format!(
"{}{}",
crate::MarkupKind::PlainText.horizontal_line(),
rendered_diagnostics
.strip_suffix("\n")
.unwrap_or(&rendered_diagnostics)
);
}
format!("{buf}{rendered_diagnostics}",)
let rendered_edit_diagnostic = if edit_offset != 0 {
let edit_diagnostic = InlayHintEditDiagnostic::new(text_edit_buf);
let text_edit_buf = self.render_diagnostic(edit_diagnostic);
format!(
"{}{}",
crate::MarkupKind::PlainText.horizontal_line(),
text_edit_buf
)
} else {
String::new()
};
format!("{inlay_hint_buf}{rendered_diagnostics}{rendered_edit_diagnostic}",)
}
fn render_diagnostics<I, D>(&self, diagnostics: I) -> String
fn render_diagnostic<D>(&self, diagnostic: D) -> String
where
I: IntoIterator<Item = D>,
D: IntoDiagnostic,
{
use std::fmt::Write;
@@ -578,10 +652,8 @@ mod tests {
.color(false)
.format(DiagnosticFormat::Full);
for diagnostic in diagnostics {
let diag = diagnostic.into_diagnostic();
write!(buf, "{}", diag.display(&self.db, &config)).unwrap();
}
let diag = diagnostic.into_diagnostic();
write!(buf, "{}", diag.display(&self.db, &config)).unwrap();
buf
}
@@ -728,6 +800,20 @@ mod tests {
10 | bb[: Literal[b"foo"]] = aa
| ^^^^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def i(x: int, /) -> int:
return x
x = 1
y: Literal[1] = x
z: int = i(1)
w: int = z
aa = b'foo'
bb: Literal[b"foo"] = aa
"#);
}
@@ -1321,6 +1407,20 @@ mod tests {
10 | w[: tuple[int, str]] = z
| ^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def i(x: int, /) -> int:
return x
def s(x: str, /) -> str:
return x
x = (1, 'abc')
y: tuple[Literal[1], Literal["abc"]] = x
z: tuple[int, str] = (i(1), s('abc'))
w: tuple[int, str] = z
"#);
}
@@ -1654,6 +1754,18 @@ mod tests {
8 | w[: int] = z
| ^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def i(x: int, /) -> int:
return x
x: int = 1
y: Literal[1] = x
z: int = i(1)
w: int = z
"#);
}
@@ -1691,6 +1803,15 @@ mod tests {
| ^^^
5 | z = x
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def i(x: int, /) -> int:
return x
x: int = i(1)
z = x
"#);
}
@@ -1810,6 +1931,18 @@ mod tests {
8 | a.y[: int] = int(3)
| ^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
class A:
def __init__(self, y):
self.x: int = int(1)
self.y: Unknown = y
a: A = A(2)
a.y: int = int(3)
"#);
}
@@ -2640,6 +2773,22 @@ mod tests {
12 | k[: list[Unknown | int | float]] = [-1, -2.0]
| ^^^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
a: list[Unknown | int] = [1, 2]
b: list[Unknown | float] = [1.0, 2.0]
c: list[Unknown | bool] = [True, False]
d: list[Unknown | None] = [None, None]
e: list[Unknown | str] = ["hel", "lo"]
f: list[Unknown | str] = ['the', 're']
g: list[Unknown | str] = [f"{ft}", f"{ft}"]
h: list[Unknown | Template] = [t"wow %d", t"wow %d"]
i: list[Unknown | bytes] = [b'/x01', b'/x02']
j: list[Unknown | int | float] = [+1, +2.0]
k: list[Unknown | int | float] = [-1, -2.0]
"#);
}
@@ -2811,6 +2960,19 @@ mod tests {
9 | c[: MyClass], d[: MyClass] = (MyClass(), MyClass())
| ^^^^^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
class MyClass:
def __init__(self):
self.x: int = 1
x: MyClass = MyClass()
y: tuple[MyClass, MyClass] = (MyClass(), MyClass())
a, b = MyClass(), MyClass()
c, d = (MyClass(), MyClass())
"#);
}
@@ -3681,6 +3843,20 @@ mod tests {
10 | c[: MyClass[Unknown | int, str]], d[: MyClass[Unknown | int, str]] = (MyClass([x=][42], [y=]("a", "b")), MyClass([x=][42], [y=]("a", "…
| ^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
class MyClass[T, U]:
def __init__(self, x: list[T], y: tuple[U, U]):
self.x = x
self.y = y
x: MyClass[Unknown | int, str] = MyClass([42], ("a", "b"))
y: tuple[MyClass[Unknown | int, str], MyClass[Unknown | int, str]] = (MyClass([42], ("a", "b")), MyClass([42], ("a", "b")))
a, b = MyClass([42], ("a", "b")), MyClass([42], ("a", "b"))
c, d = (MyClass([42], ("a", "b")), MyClass([42], ("a", "b")))
"#);
}
@@ -3836,6 +4012,20 @@ mod tests {
10 | foo([x=]val.y)
| ^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def foo(x: int): pass
class MyClass:
def __init__(self):
self.x: int = 1
self.y: int = 2
val: MyClass = MyClass()
foo(val.x)
foo(val.y)
");
}
@@ -3901,6 +4091,20 @@ mod tests {
10 | foo([x=]x.y)
| ^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def foo(x: int): pass
class MyClass:
def __init__(self):
self.x: int = 1
self.y: int = 2
x: MyClass = MyClass()
foo(x.x)
foo(x.y)
");
}
@@ -3969,6 +4173,22 @@ mod tests {
12 | foo([x=]val.y())
| ^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def foo(x: int): pass
class MyClass:
def __init__(self):
def x() -> int:
return 1
def y() -> int:
return 2
val: MyClass = MyClass()
foo(val.x())
foo(val.y())
");
}
@@ -4043,6 +4263,24 @@ mod tests {
14 | foo([x=]val.y()[1])
| ^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
from typing import List
def foo(x: int): pass
class MyClass:
def __init__(self):
def x() -> List[int]:
return 1
def y() -> List[int]:
return 2
val: MyClass = MyClass()
foo(val.x()[0])
foo(val.y()[1])
");
}
@@ -4193,6 +4431,17 @@ mod tests {
7 | foo([x=]y[0])
| ^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def foo(x: int): pass
x: list[Unknown | int] = [1]
y: list[Unknown | int] = [2]
foo(x[0])
foo(y[0])
"#);
}
@@ -4378,6 +4627,15 @@ mod tests {
5 | f[: Foo] = Foo([x=]1)
| ^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
class Foo:
def __init__(self, x: int): pass
Foo(1)
f: Foo = Foo(1)
");
}
@@ -4450,6 +4708,15 @@ mod tests {
5 | f[: Foo] = Foo([x=]1)
| ^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
class Foo:
def __new__(cls, x: int): pass
Foo(1)
f: Foo = Foo(1)
");
}
@@ -5197,6 +5464,15 @@ mod tests {
| ^^^^^^^^^^^^^
5 | my_func(x="hello")
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
from typing import LiteralString
def my_func(x: LiteralString):
y: LiteralString = x
my_func(x="hello")
"#);
}
@@ -5339,6 +5615,23 @@ mod tests {
13 | y[: Literal[1, 2, 3, "hello"] | None] = x
| ^^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def branch(cond: int):
if cond < 10:
x = 1
elif cond < 20:
x = 2
elif cond < 30:
x = 3
elif cond < 40:
x = "hello"
else:
x = None
y: Literal[1, 2, 3, "hello"] | None = x
"#);
}
@@ -5454,6 +5747,13 @@ mod tests {
3 | y[: type[list[str]]] = type(x)
| ^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
def f(x: list[str]):
y: type[list[str]] = type(x)
"#);
}
@@ -5493,6 +5793,16 @@ mod tests {
6 | ab[: property] = F.whatever
| ^^^^^^^^
|
---------------------------------------------
info[inlay-hint-edit]: File after edits
info: Source
class F:
@property
def whatever(self): ...
ab: property = F.whatever
");
}
@@ -5810,6 +6120,180 @@ mod tests {
");
}
#[test]
fn test_function_signature_inlay_hint() {
let mut test = inlay_hint_test(
"
def foo(x: int, *y: bool, z: str | int | list[str]): ...
a = foo",
);
assert_snapshot!(test.inlay_hints(), @r#"
def foo(x: int, *y: bool, z: str | int | list[str]): ...
a[: def foo(x: int, *y: bool, *, z: str | int | list[str]) -> Unknown] = foo
---------------------------------------------
info[inlay-hint-location]: Inlay Hint Target
--> stdlib/builtins.pyi:348:7
|
347 | @disjoint_base
348 | class int:
| ^^^
349 | """int([x]) -> integer
350 | int(x, base=10) -> integer
|
info: Source
--> main2.py:4:16
|
2 | def foo(x: int, *y: bool, z: str | int | list[str]): ...
3 |
4 | a[: def foo(x: int, *y: bool, *, z: str | int | list[str]) -> Unknown] = foo
| ^^^
|
info[inlay-hint-location]: Inlay Hint Target
--> stdlib/builtins.pyi:2591:7
|
2590 | @final
2591 | class bool(int):
| ^^^^
2592 | """Returns True when the argument is true, False otherwise.
2593 | The builtins True and False are the only two instances of the class bool.
|
info: Source
--> main2.py:4:25
|
2 | def foo(x: int, *y: bool, z: str | int | list[str]): ...
3 |
4 | a[: def foo(x: int, *y: bool, *, z: str | int | list[str]) -> Unknown] = foo
| ^^^^
|
info[inlay-hint-location]: Inlay Hint Target
--> stdlib/builtins.pyi:915:7
|
914 | @disjoint_base
915 | class str(Sequence[str]):
| ^^^
916 | """str(object='') -> str
917 | str(bytes_or_buffer[, encoding[, errors]]) -> str
|
info: Source
--> main2.py:4:37
|
2 | def foo(x: int, *y: bool, z: str | int | list[str]): ...
3 |
4 | a[: def foo(x: int, *y: bool, *, z: str | int | list[str]) -> Unknown] = foo
| ^^^
|
info[inlay-hint-location]: Inlay Hint Target
--> stdlib/builtins.pyi:348:7
|
347 | @disjoint_base
348 | class int:
| ^^^
349 | """int([x]) -> integer
350 | int(x, base=10) -> integer
|
info: Source
--> main2.py:4:43
|
2 | def foo(x: int, *y: bool, z: str | int | list[str]): ...
3 |
4 | a[: def foo(x: int, *y: bool, *, z: str | int | list[str]) -> Unknown] = foo
| ^^^
|
info[inlay-hint-location]: Inlay Hint Target
--> stdlib/builtins.pyi:2802:7
|
2801 | @disjoint_base
2802 | class list(MutableSequence[_T]):
| ^^^^
2803 | """Built-in mutable sequence.
|
info: Source
--> main2.py:4:49
|
2 | def foo(x: int, *y: bool, z: str | int | list[str]): ...
3 |
4 | a[: def foo(x: int, *y: bool, *, z: str | int | list[str]) -> Unknown] = foo
| ^^^^
|
info[inlay-hint-location]: Inlay Hint Target
--> stdlib/builtins.pyi:915:7
|
914 | @disjoint_base
915 | class str(Sequence[str]):
| ^^^
916 | """str(object='') -> str
917 | str(bytes_or_buffer[, encoding[, errors]]) -> str
|
info: Source
--> main2.py:4:54
|
2 | def foo(x: int, *y: bool, z: str | int | list[str]): ...
3 |
4 | a[: def foo(x: int, *y: bool, *, z: str | int | list[str]) -> Unknown] = foo
| ^^^
|
info[inlay-hint-location]: Inlay Hint Target
--> stdlib/ty_extensions.pyi:20:1
|
19 | # Types
20 | Unknown = object()
| ^^^^^^^
21 | AlwaysTruthy = object()
22 | AlwaysFalsy = object()
|
info: Source
--> main2.py:4:63
|
2 | def foo(x: int, *y: bool, z: str | int | list[str]): ...
3 |
4 | a[: def foo(x: int, *y: bool, *, z: str | int | list[str]) -> Unknown] = foo
| ^^^^^^^
|
"#);
}
#[test]
fn test_module_inlay_hint() {
let mut test = inlay_hint_test(
"
import foo
a = foo",
);
test.with_extra_file("foo.py", "'''Foo module'''");
assert_snapshot!(test.inlay_hints(), @r"
import foo
a[: <module 'foo'>] = foo
---------------------------------------------
info[inlay-hint-location]: Inlay Hint Target
--> foo.py:1:1
|
1 | '''Foo module'''
| ^^^^^^^^^^^^^^^^
|
info: Source
--> main2.py:4:5
|
2 | import foo
3 |
4 | a[: <module 'foo'>] = foo
| ^^^^^^^^^^^^^^
|
");
}
struct InlayHintLocationDiagnostic {
source: FileRange,
target: FileRange,
@@ -5847,4 +6331,31 @@ mod tests {
main
}
}
struct InlayHintEditDiagnostic {
file_content: String,
}
impl InlayHintEditDiagnostic {
fn new(file_content: String) -> Self {
Self { file_content }
}
}
impl IntoDiagnostic for InlayHintEditDiagnostic {
fn into_diagnostic(self) -> Diagnostic {
let mut main = Diagnostic::new(
DiagnosticId::Lint(LintName::of("inlay-hint-edit")),
Severity::Info,
"File after edits".to_string(),
);
main.sub(SubDiagnostic::new(
SubDiagnosticSeverity::Info,
format!("{}\n{}", "Source", self.file_content),
));
main
}
}
}

View File

@@ -33,7 +33,9 @@ pub use document_symbols::document_symbols;
pub use goto::{goto_declaration, goto_definition, goto_type_definition};
pub use goto_references::goto_references;
pub use hover::hover;
pub use inlay_hints::{InlayHintKind, InlayHintLabel, InlayHintSettings, inlay_hints};
pub use inlay_hints::{
InlayHintKind, InlayHintLabel, InlayHintSettings, InlayHintTextEdit, inlay_hints,
};
pub use markup::MarkupKind;
pub use references::ReferencesMode;
pub use rename::{can_rename, rename};

View File

@@ -237,4 +237,26 @@ class Matrix:
Matrix() < Matrix()
```
## `self`-binding behaviour of function-like `Callable`s
Binding the `self` parameter of a function-like `Callable` creates a new `Callable` that is also
function-like:
`main.py`:
```py
from typing import Callable
def my_lossy_decorator(fn: Callable[..., int]) -> Callable[..., int]:
return fn
class MyClass:
@my_lossy_decorator
def method(self) -> int:
return 42
reveal_type(MyClass().method) # revealed: (...) -> int
reveal_type(MyClass().method.__name__) # revealed: str
```
[`tensorbase`]: https://github.com/pytorch/pytorch/blob/f3913ea641d871f04fa2b6588a77f63efeeb9f10/torch/_tensor.py#L1084-L1092

View File

@@ -171,7 +171,7 @@ class Config:
import generic_a
import generic_b
# TODO should be error: [invalid-assignment] "Object of type `<class 'generic_b.Container[int]'>` is not assignable to `type[generic_a.Container[int]]`"
# error: [invalid-assignment] "Object of type `<class 'generic_b.Container[int]'>` is not assignable to `type[generic_a.Container[int]]`"
container: type[generic_a.Container[int]] = generic_b.Container[int]
```

View File

@@ -22,8 +22,10 @@ from ty_extensions import ConstraintSet, generic_context
# fmt: off
def unbounded[T]():
# revealed: ty_extensions.Specialization[T@unbounded = object]
# revealed: ty_extensions.Specialization[T@unbounded = Unknown]
reveal_type(generic_context(unbounded).specialize_constrained(ConstraintSet.always()))
# revealed: ty_extensions.Specialization[T@unbounded = object]
reveal_type(generic_context(unbounded).specialize_constrained(ConstraintSet.range(Never, T, object)))
# revealed: None
reveal_type(generic_context(unbounded).specialize_constrained(ConstraintSet.never()))
@@ -88,6 +90,7 @@ that makes the test succeed.
from typing import Any
def bounded_by_gradual[T: Any]():
# TODO: revealed: ty_extensions.Specialization[T@bounded_by_gradual = Any]
# revealed: ty_extensions.Specialization[T@bounded_by_gradual = object]
reveal_type(generic_context(bounded_by_gradual).specialize_constrained(ConstraintSet.always()))
# revealed: None
@@ -168,12 +171,16 @@ from typing import Any
# fmt: off
def constrained_by_gradual[T: (Base, Any)]():
# TODO: revealed: ty_extensions.Specialization[T@constrained_by_gradual = Unknown]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = Base]
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.always()))
# TODO: revealed: ty_extensions.Specialization[T@constrained_by_gradual = Any]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = object]
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.always()))
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.range(Never, T, object)))
# revealed: None
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.never()))
# TODO: revealed: ty_extensions.Specialization[T@constrained_by_gradual = Any]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = Base]
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.range(Never, T, Base)))
# TODO: revealed: ty_extensions.Specialization[T@constrained_by_gradual = Any]
@@ -181,14 +188,14 @@ def constrained_by_gradual[T: (Base, Any)]():
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.range(Never, T, Unrelated)))
# TODO: revealed: ty_extensions.Specialization[T@constrained_by_gradual = Any]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = Super]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = Base]
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.range(Never, T, Super)))
# TODO: revealed: ty_extensions.Specialization[T@constrained_by_gradual = Any]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = Super]
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.range(Super, T, Super)))
# TODO: revealed: ty_extensions.Specialization[T@constrained_by_gradual = Any]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = object]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = Base]
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.range(Sub, T, object)))
# TODO: revealed: ty_extensions.Specialization[T@constrained_by_gradual = Any]
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = Sub]
@@ -288,7 +295,7 @@ class Unrelated: ...
# fmt: off
def mutually_bound[T: Base, U]():
# revealed: ty_extensions.Specialization[T@mutually_bound = Base, U@mutually_bound = object]
# revealed: ty_extensions.Specialization[T@mutually_bound = Base, U@mutually_bound = Unknown]
reveal_type(generic_context(mutually_bound).specialize_constrained(ConstraintSet.always()))
# revealed: None
reveal_type(generic_context(mutually_bound).specialize_constrained(ConstraintSet.never()))
@@ -296,7 +303,7 @@ def mutually_bound[T: Base, U]():
# revealed: ty_extensions.Specialization[T@mutually_bound = Base, U@mutually_bound = Base]
reveal_type(generic_context(mutually_bound).specialize_constrained(ConstraintSet.range(Never, U, T)))
# revealed: ty_extensions.Specialization[T@mutually_bound = Sub, U@mutually_bound = object]
# revealed: ty_extensions.Specialization[T@mutually_bound = Sub, U@mutually_bound = Unknown]
reveal_type(generic_context(mutually_bound).specialize_constrained(ConstraintSet.range(Never, T, Sub)))
# revealed: ty_extensions.Specialization[T@mutually_bound = Sub, U@mutually_bound = Sub]
reveal_type(generic_context(mutually_bound).specialize_constrained(ConstraintSet.range(Never, T, Sub) & ConstraintSet.range(Never, U, T)))

View File

@@ -523,3 +523,63 @@ class Baz(NamedTuple):
class Spam(Baz):
def _asdict(self) -> tuple[int, ...]: ... # error: [invalid-method-override]
```
## Staticmethods and classmethods
Methods decorated with `@staticmethod` or `@classmethod` are checked in much the same way as other
methods.
<!-- snapshot-diagnostics -->
```pyi
class Parent:
def instance_method(self, x: int) -> int: ...
@classmethod
def class_method(cls, x: int) -> int: ...
@staticmethod
def static_method(x: int) -> int: ...
class BadChild1(Parent):
@staticmethod
def instance_method(self, x: int) -> int: ... # error: [invalid-method-override]
# TODO: we should emit `invalid-method-override` here.
# Although the method has the same signature as `Parent.class_method`
# when accessed on instances, it does not have the same signature as
# `Parent.class_method` when accessed on the class object itself
def class_method(cls, x: int) -> int: ...
def static_method(x: int) -> int: ... # error: [invalid-method-override]
class BadChild2(Parent):
# TODO: we should emit `invalid-method-override` here.
# Although the method has the same signature as `Parent.class_method`
# when accessed on instances, it does not have the same signature as
# `Parent.class_method` when accessed on the class object itself.
#
# Note that whereas `BadChild1.class_method` is reported as a Liskov violation by
# mypy, pyright and pyrefly, pyright is the only one of those three to report a
# Liskov violation on this method as of 2025-11-23.
@classmethod
def instance_method(self, x: int) -> int: ...
@staticmethod
def class_method(cls, x: int) -> int: ... # error: [invalid-method-override]
@classmethod
def static_method(x: int) -> int: ... # error: [invalid-method-override]
class BadChild3(Parent):
@classmethod
def class_method(cls, x: bool) -> object: ... # error: [invalid-method-override]
@staticmethod
def static_method(x: bool) -> object: ... # error: [invalid-method-override]
class GoodChild1(Parent):
@classmethod
def class_method(cls, x: int) -> int: ...
@staticmethod
def static_method(x: int) -> int: ...
class GoodChild2(Parent):
@classmethod
def class_method(cls, x: object) -> bool: ...
@staticmethod
def static_method(x: object) -> bool: ...
```

View File

@@ -0,0 +1,220 @@
---
source: crates/ty_test/src/lib.rs
expression: snapshot
---
---
mdtest name: liskov.md - The Liskov Substitution Principle - Staticmethods and classmethods
mdtest path: crates/ty_python_semantic/resources/mdtest/liskov.md
---
# Python source files
## mdtest_snippet.pyi
```
1 | class Parent:
2 | def instance_method(self, x: int) -> int: ...
3 | @classmethod
4 | def class_method(cls, x: int) -> int: ...
5 | @staticmethod
6 | def static_method(x: int) -> int: ...
7 |
8 | class BadChild1(Parent):
9 | @staticmethod
10 | def instance_method(self, x: int) -> int: ... # error: [invalid-method-override]
11 | # TODO: we should emit `invalid-method-override` here.
12 | # Although the method has the same signature as `Parent.class_method`
13 | # when accessed on instances, it does not have the same signature as
14 | # `Parent.class_method` when accessed on the class object itself
15 | def class_method(cls, x: int) -> int: ...
16 | def static_method(x: int) -> int: ... # error: [invalid-method-override]
17 |
18 | class BadChild2(Parent):
19 | # TODO: we should emit `invalid-method-override` here.
20 | # Although the method has the same signature as `Parent.class_method`
21 | # when accessed on instances, it does not have the same signature as
22 | # `Parent.class_method` when accessed on the class object itself.
23 | #
24 | # Note that whereas `BadChild1.class_method` is reported as a Liskov violation by
25 | # mypy, pyright and pyrefly, pyright is the only one of those three to report a
26 | # Liskov violation on this method as of 2025-11-23.
27 | @classmethod
28 | def instance_method(self, x: int) -> int: ...
29 | @staticmethod
30 | def class_method(cls, x: int) -> int: ... # error: [invalid-method-override]
31 | @classmethod
32 | def static_method(x: int) -> int: ... # error: [invalid-method-override]
33 |
34 | class BadChild3(Parent):
35 | @classmethod
36 | def class_method(cls, x: bool) -> object: ... # error: [invalid-method-override]
37 | @staticmethod
38 | def static_method(x: bool) -> object: ... # error: [invalid-method-override]
39 |
40 | class GoodChild1(Parent):
41 | @classmethod
42 | def class_method(cls, x: int) -> int: ...
43 | @staticmethod
44 | def static_method(x: int) -> int: ...
45 |
46 | class GoodChild2(Parent):
47 | @classmethod
48 | def class_method(cls, x: object) -> bool: ...
49 | @staticmethod
50 | def static_method(x: object) -> bool: ...
```
# Diagnostics
```
error[invalid-method-override]: Invalid override of method `instance_method`
--> src/mdtest_snippet.pyi:10:9
|
8 | class BadChild1(Parent):
9 | @staticmethod
10 | def instance_method(self, x: int) -> int: ... # error: [invalid-method-override]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Definition is incompatible with `Parent.instance_method`
11 | # TODO: we should emit `invalid-method-override` here.
12 | # Although the method has the same signature as `Parent.class_method`
|
::: src/mdtest_snippet.pyi:2:9
|
1 | class Parent:
2 | def instance_method(self, x: int) -> int: ...
| ------------------------------------ `Parent.instance_method` defined here
3 | @classmethod
4 | def class_method(cls, x: int) -> int: ...
|
info: `BadChild1.instance_method` is a staticmethod but `Parent.instance_method` is an instance method
info: This violates the Liskov Substitution Principle
info: rule `invalid-method-override` is enabled by default
```
```
error[invalid-method-override]: Invalid override of method `static_method`
--> src/mdtest_snippet.pyi:16:9
|
14 | # `Parent.class_method` when accessed on the class object itself
15 | def class_method(cls, x: int) -> int: ...
16 | def static_method(x: int) -> int: ... # error: [invalid-method-override]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Definition is incompatible with `Parent.static_method`
17 |
18 | class BadChild2(Parent):
|
::: src/mdtest_snippet.pyi:6:9
|
4 | def class_method(cls, x: int) -> int: ...
5 | @staticmethod
6 | def static_method(x: int) -> int: ...
| ---------------------------- `Parent.static_method` defined here
7 |
8 | class BadChild1(Parent):
|
info: `BadChild1.static_method` is an instance method but `Parent.static_method` is a staticmethod
info: This violates the Liskov Substitution Principle
info: rule `invalid-method-override` is enabled by default
```
```
error[invalid-method-override]: Invalid override of method `class_method`
--> src/mdtest_snippet.pyi:30:9
|
28 | def instance_method(self, x: int) -> int: ...
29 | @staticmethod
30 | def class_method(cls, x: int) -> int: ... # error: [invalid-method-override]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Definition is incompatible with `Parent.class_method`
31 | @classmethod
32 | def static_method(x: int) -> int: ... # error: [invalid-method-override]
|
::: src/mdtest_snippet.pyi:4:9
|
2 | def instance_method(self, x: int) -> int: ...
3 | @classmethod
4 | def class_method(cls, x: int) -> int: ...
| -------------------------------- `Parent.class_method` defined here
5 | @staticmethod
6 | def static_method(x: int) -> int: ...
|
info: `BadChild2.class_method` is a staticmethod but `Parent.class_method` is a classmethod
info: This violates the Liskov Substitution Principle
info: rule `invalid-method-override` is enabled by default
```
```
error[invalid-method-override]: Invalid override of method `static_method`
--> src/mdtest_snippet.pyi:32:9
|
30 | def class_method(cls, x: int) -> int: ... # error: [invalid-method-override]
31 | @classmethod
32 | def static_method(x: int) -> int: ... # error: [invalid-method-override]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Definition is incompatible with `Parent.static_method`
33 |
34 | class BadChild3(Parent):
|
::: src/mdtest_snippet.pyi:6:9
|
4 | def class_method(cls, x: int) -> int: ...
5 | @staticmethod
6 | def static_method(x: int) -> int: ...
| ---------------------------- `Parent.static_method` defined here
7 |
8 | class BadChild1(Parent):
|
info: `BadChild2.static_method` is a classmethod but `Parent.static_method` is a staticmethod
info: This violates the Liskov Substitution Principle
info: rule `invalid-method-override` is enabled by default
```
```
error[invalid-method-override]: Invalid override of method `class_method`
--> src/mdtest_snippet.pyi:36:9
|
34 | class BadChild3(Parent):
35 | @classmethod
36 | def class_method(cls, x: bool) -> object: ... # error: [invalid-method-override]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Definition is incompatible with `Parent.class_method`
37 | @staticmethod
38 | def static_method(x: bool) -> object: ... # error: [invalid-method-override]
|
::: src/mdtest_snippet.pyi:4:9
|
2 | def instance_method(self, x: int) -> int: ...
3 | @classmethod
4 | def class_method(cls, x: int) -> int: ...
| -------------------------------- `Parent.class_method` defined here
5 | @staticmethod
6 | def static_method(x: int) -> int: ...
|
info: This violates the Liskov Substitution Principle
info: rule `invalid-method-override` is enabled by default
```
```
error[invalid-method-override]: Invalid override of method `static_method`
--> src/mdtest_snippet.pyi:38:9
|
36 | def class_method(cls, x: bool) -> object: ... # error: [invalid-method-override]
37 | @staticmethod
38 | def static_method(x: bool) -> object: ... # error: [invalid-method-override]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Definition is incompatible with `Parent.static_method`
39 |
40 | class GoodChild1(Parent):
|
::: src/mdtest_snippet.pyi:6:9
|
4 | def class_method(cls, x: int) -> int: ...
5 | @staticmethod
6 | def static_method(x: int) -> int: ...
| ---------------------------- `Parent.static_method` defined here
7 |
8 | class BadChild1(Parent):
|
info: This violates the Liskov Substitution Principle
info: rule `invalid-method-override` is enabled by default
```

View File

@@ -174,6 +174,39 @@ def _(x: Foo[int], y: Bar[str], z: list[bytes]):
reveal_type(type(z)) # revealed: type[list[bytes]]
```
## Checking generic `type[]` types
```toml
[environment]
python-version = "3.12"
```
```py
class C[T]:
pass
class D[T]:
pass
var: type[C[int]] = C[int]
var: type[C[int]] = D[int] # error: [invalid-assignment] "Object of type `<class 'D[int]'>` is not assignable to `type[C[int]]`"
```
However, generic `Protocol` classes are still TODO:
```py
from typing import Protocol
class Proto[U](Protocol):
def some_method(self): ...
# TODO: should be error: [invalid-assignment]
var: type[Proto[int]] = C[int]
def _(p: type[Proto[int]]):
reveal_type(p) # revealed: type[@Todo(type[T] for protocols)]
```
## `@final` classes
`type[]` types are eagerly converted to class-literal types if a class decorated with `@final` is

View File

@@ -66,12 +66,15 @@ def _[T]() -> None:
reveal_type(ConstraintSet.range(Base, T, object))
```
And a range constraint with _both_ a lower bound of `Never` and an upper bound of `object` does not
constrain the typevar at all.
And a range constraint with a lower bound of `Never` and an upper bound of `object` allows the
typevar to take on any type. We treat this differently than the `always` constraint set. During
specialization inference, that allows us to distinguish between not constraining a typevar (and
therefore falling back on its default specialization) and explicitly constraining it to any subtype
of `object`.
```py
def _[T]() -> None:
# revealed: ty_extensions.ConstraintSet[always]
# revealed: ty_extensions.ConstraintSet[(T@_ = *)]
reveal_type(ConstraintSet.range(Never, T, object))
```
@@ -156,7 +159,7 @@ cannot be satisfied at all.
```py
def _[T]() -> None:
# revealed: ty_extensions.ConstraintSet[never]
# revealed: ty_extensions.ConstraintSet[(T@_ ≠ *)]
reveal_type(~ConstraintSet.range(Never, T, object))
```
@@ -654,7 +657,7 @@ def _[T]() -> None:
reveal_type(~ConstraintSet.range(Never, T, Base))
# revealed: ty_extensions.ConstraintSet[¬(Sub ≤ T@_)]
reveal_type(~ConstraintSet.range(Sub, T, object))
# revealed: ty_extensions.ConstraintSet[never]
# revealed: ty_extensions.ConstraintSet[(T@_ ≠ *)]
reveal_type(~ConstraintSet.range(Never, T, object))
```
@@ -811,7 +814,7 @@ def f[T]():
# "domain", which maps valid inputs to `true` and invalid inputs to `false`. This means that two
# constraint sets that are both always satisfied will not be identical if they have different
# domains!
always = ConstraintSet.range(Never, T, object)
always = ConstraintSet.always()
# revealed: ty_extensions.ConstraintSet[always]
reveal_type(always)
static_assert(always)
@@ -846,11 +849,11 @@ from typing import Never
from ty_extensions import ConstraintSet
def same_typevar[T]():
# revealed: ty_extensions.ConstraintSet[always]
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
reveal_type(ConstraintSet.range(Never, T, T))
# revealed: ty_extensions.ConstraintSet[always]
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
reveal_type(ConstraintSet.range(T, T, object))
# revealed: ty_extensions.ConstraintSet[always]
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
reveal_type(ConstraintSet.range(T, T, T))
```
@@ -862,11 +865,11 @@ as shown above.)
from ty_extensions import Intersection
def same_typevar[T]():
# revealed: ty_extensions.ConstraintSet[always]
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
reveal_type(ConstraintSet.range(Never, T, T | None))
# revealed: ty_extensions.ConstraintSet[always]
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
reveal_type(ConstraintSet.range(Intersection[T, None], T, object))
# revealed: ty_extensions.ConstraintSet[always]
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
reveal_type(ConstraintSet.range(Intersection[T, None], T, T | None))
```
@@ -877,8 +880,8 @@ constraint set can never be satisfied, since every type is disjoint with its neg
from ty_extensions import Not
def same_typevar[T]():
# revealed: ty_extensions.ConstraintSet[never]
# revealed: ty_extensions.ConstraintSet[(T@same_typevar ≠ *)]
reveal_type(ConstraintSet.range(Intersection[Not[T], None], T, object))
# revealed: ty_extensions.ConstraintSet[never]
# revealed: ty_extensions.ConstraintSet[(T@same_typevar ≠ *)]
reveal_type(ConstraintSet.range(Not[T], T, object))
```

View File

@@ -243,13 +243,13 @@ static_assert(is_assignable_to(TypeOf[Bar[int]], type[Foo[int]]))
static_assert(is_assignable_to(TypeOf[Bar[bool]], type[Foo[int]]))
static_assert(is_assignable_to(TypeOf[Bar], type[Foo[int]]))
static_assert(is_assignable_to(TypeOf[Bar[Any]], type[Foo[int]]))
static_assert(is_assignable_to(TypeOf[Bar[Unknown]], type[Foo[int]]))
static_assert(is_assignable_to(TypeOf[Bar], type[Foo]))
static_assert(is_assignable_to(TypeOf[Bar[Any]], type[Foo[Any]]))
static_assert(is_assignable_to(TypeOf[Bar[Any]], type[Foo[int]]))
# TODO: these should pass (all subscripts inside `type[]` type expressions are currently TODO types)
static_assert(not is_assignable_to(TypeOf[Bar[int]], type[Foo[bool]])) # error: [static-assert-error]
static_assert(not is_assignable_to(TypeOf[Foo[bool]], type[Bar[int]])) # error: [static-assert-error]
static_assert(not is_assignable_to(TypeOf[Bar[int]], type[Foo[bool]]))
static_assert(not is_assignable_to(TypeOf[Foo[bool]], type[Bar[int]]))
```
## `type[]` is not assignable to types disjoint from `builtins.type`

View File

@@ -1107,13 +1107,6 @@ impl<'db> Type<'db> {
}
}
pub(crate) const fn as_bound_method(self) -> Option<BoundMethodType<'db>> {
match self {
Type::BoundMethod(bound_method) => Some(bound_method),
_ => None,
}
}
#[track_caller]
pub(crate) const fn expect_class_literal(self) -> ClassLiteral<'db> {
self.as_class_literal()
@@ -1566,7 +1559,7 @@ impl<'db> Type<'db> {
}
}
Type::ClassLiteral(class_literal) => {
Some(ClassType::NonGeneric(class_literal).into_callable(db))
Some(class_literal.default_specialization(db).into_callable(db))
}
Type::GenericAlias(alias) => Some(ClassType::Generic(alias).into_callable(db)),
@@ -2406,7 +2399,7 @@ impl<'db> Type<'db> {
.subclass_of()
.into_class()
.map(|subclass_of_class| {
ClassType::NonGeneric(class).has_relation_to_impl(
class.default_specialization(db).has_relation_to_impl(
db,
subclass_of_class,
inferable,
@@ -6707,7 +6700,9 @@ impl<'db> Type<'db> {
KnownClass::Float.to_instance(db),
],
),
_ if class.is_typed_dict(db) => Type::typed_dict(*class),
_ if class.is_typed_dict(db) => {
Type::typed_dict(class.default_specialization(db))
}
_ => Type::instance(db, class.default_specialization(db)),
};
Ok(ty)
@@ -7042,18 +7037,7 @@ impl<'db> Type<'db> {
}
Type::Callable(_) | Type::DataclassTransformer(_) => KnownClass::Type.to_instance(db),
Type::ModuleLiteral(_) => KnownClass::ModuleType.to_class_literal(db),
Type::TypeVar(bound_typevar) => {
match bound_typevar.typevar(db).bound_or_constraints(db) {
None => KnownClass::Type.to_instance(db),
Some(TypeVarBoundOrConstraints::UpperBound(bound)) => bound.to_meta_type(db),
Some(TypeVarBoundOrConstraints::Constraints(constraints)) => {
// TODO: If we add a proper `OneOf` connector, we should use that here instead
// of union. (Using a union here doesn't break anything, but it is imprecise.)
constraints.map(db, |constraint| constraint.to_meta_type(db))
}
}
}
Type::TypeVar(_) => todo_type!("type[T] for a type variable T"),
Type::ClassLiteral(class) => class.metaclass(db),
Type::GenericAlias(alias) => ClassType::from(alias).metaclass(db),
Type::SubclassOf(subclass_of_ty) => match subclass_of_ty.subclass_of() {
@@ -8306,7 +8290,7 @@ impl<'db> KnownInstanceType<'db> {
write!(
f,
"ty_extensions.Specialization{}",
specialization.normalized(self.db).display_full(self.db)
specialization.display_full(self.db)
)
}
KnownInstanceType::UnionType(_) => f.write_str("types.UnionType"),
@@ -11018,11 +11002,19 @@ impl<'db> CallableType<'db> {
db: &'db dyn Db,
self_type: Option<Type<'db>>,
) -> CallableType<'db> {
CallableType::new(db, self.signatures(db).bind_self(db, self_type), false)
CallableType::new(
db,
self.signatures(db).bind_self(db, self_type),
self.is_function_like(db),
)
}
pub(crate) fn apply_self(self, db: &'db dyn Db, self_type: Type<'db>) -> CallableType<'db> {
CallableType::new(db, self.signatures(db).apply_self(db, self_type), false)
CallableType::new(
db,
self.signatures(db).apply_self(db, self_type),
self.is_function_like(db),
)
}
/// Create a callable type which represents a fully-static "bottom" callable.

View File

@@ -362,6 +362,11 @@ impl<'db> VarianceInferable<'db> for GenericAlias<'db> {
get_size2::GetSize,
)]
pub enum ClassType<'db> {
// `NonGeneric` is intended to mean that the `ClassLiteral` has no type parameters. There are
// places where we currently violate this rule (e.g. so that we print `Foo` instead of
// `Foo[Unknown]`), but most callers who need to make a `ClassType` from a `ClassLiteral`
// should use `ClassLiteral::default_specialization` instead of assuming
// `ClassType::NonGeneric`.
NonGeneric(ClassLiteral<'db>),
Generic(GenericAlias<'db>),
}
@@ -1259,6 +1264,14 @@ impl MethodDecorator {
(false, false) => Ok(Self::None),
}
}
pub(crate) const fn description(self) -> &'static str {
match self {
MethodDecorator::None => "an instance method",
MethodDecorator::ClassMethod => "a classmethod",
MethodDecorator::StaticMethod => "a staticmethod",
}
}
}
/// Kind-specific metadata for different types of fields
@@ -3664,12 +3677,6 @@ impl<'db> From<ClassLiteral<'db>> for Type<'db> {
}
}
impl<'db> From<ClassLiteral<'db>> for ClassType<'db> {
fn from(class: ClassLiteral<'db>) -> ClassType<'db> {
ClassType::NonGeneric(class)
}
}
#[salsa::tracked]
impl<'db> VarianceInferable<'db> for ClassLiteral<'db> {
#[salsa::tracked(cycle_initial=crate::types::variance_cycle_initial, heap_size=ruff_memory_usage::heap_size)]

View File

@@ -494,7 +494,11 @@ impl<'db> ConstrainedTypeVar<'db> {
})
}) =>
{
return Node::AlwaysFalse;
return Node::new_constraint(
db,
ConstrainedTypeVar::new(db, typevar, Type::Never, Type::object()),
)
.negate(db);
}
_ => {}
}
@@ -522,12 +526,6 @@ impl<'db> ConstrainedTypeVar<'db> {
return Node::AlwaysFalse;
}
// If the requested constraint is `Never ≤ T ≤ object`, then the typevar can be specialized
// to _any_ type, and the constraint does nothing.
if lower.is_never() && upper.is_object() {
return Node::AlwaysTrue;
}
// We have an (arbitrary) ordering for typevars. If the upper and/or lower bounds are
// typevars, we have to ensure that the bounds are "later" according to that order than the
// typevar being constrained.
@@ -574,13 +572,21 @@ impl<'db> ConstrainedTypeVar<'db> {
db,
ConstrainedTypeVar::new(db, lower, Type::Never, Type::TypeVar(typevar)),
);
let upper = Self::new_node(db, typevar, Type::Never, upper);
let upper = if upper.is_object() {
Node::AlwaysTrue
} else {
Self::new_node(db, typevar, Type::Never, upper)
};
lower.and(db, upper)
}
// L ≤ T ≤ U == (L ≤ [T]) && (T ≤ [U])
(_, Type::TypeVar(upper)) if typevar.can_be_bound_for(db, upper) => {
let lower = Self::new_node(db, typevar, lower, Type::object());
let lower = if lower.is_never() {
Node::AlwaysTrue
} else {
Self::new_node(db, typevar, lower, Type::object())
};
let upper = Node::new_constraint(
db,
ConstrainedTypeVar::new(db, upper, Type::TypeVar(typevar), Type::object()),
@@ -703,6 +709,15 @@ impl<'db> ConstrainedTypeVar<'db> {
);
}
if lower.is_never() && upper.is_object() {
return write!(
f,
"({} {} *)",
typevar.identity(self.db).display(self.db),
if self.negated { "" } else { "=" }
);
}
if self.negated {
f.write_str("¬")?;
}
@@ -1127,27 +1142,30 @@ impl<'db> Node<'db> {
/// Invokes a callback for each of the representative types of a particular typevar for this
/// constraint set.
///
/// There is a representative type for each distinct path from the BDD root to the `AlwaysTrue`
/// We first abstract the BDD so that it only mentions constraints on the requested typevar. We
/// then invoke your callback for each distinct path from the BDD root to the `AlwaysTrue`
/// terminal. Each of those paths can be viewed as the conjunction of the individual
/// constraints of each internal node that we traverse as we walk that path. We provide the
/// lower/upper bound of this conjunction to your callback, allowing you to choose any suitable
/// type in the range.
///
/// If the abstracted BDD does not mention the typevar at all (i.e., it leaves the typevar
/// completely unconstrained), we will invoke your callback once with `None`.
fn find_representative_types(
self,
db: &'db dyn Db,
bound_typevar: BoundTypeVarIdentity<'db>,
mut f: impl FnMut(Type<'db>, Type<'db>),
mut f: impl FnMut(Option<(Type<'db>, Type<'db>)>),
) {
self.retain_one(db, bound_typevar)
.find_representative_types_inner(db, Type::Never, Type::object(), &mut f);
.find_representative_types_inner(db, None, &mut f);
}
fn find_representative_types_inner(
self,
db: &'db dyn Db,
greatest_lower_bound: Type<'db>,
least_upper_bound: Type<'db>,
f: &mut dyn FnMut(Type<'db>, Type<'db>),
current_bounds: Option<(Type<'db>, Type<'db>)>,
f: &mut dyn FnMut(Option<(Type<'db>, Type<'db>)>),
) {
match self {
Node::AlwaysTrue => {
@@ -1157,12 +1175,16 @@ impl<'db> Node<'db> {
// If `lower ≰ upper`, then this path somehow represents in invalid specialization.
// That should have been removed from the BDD domain as part of the simplification
// process.
debug_assert!(greatest_lower_bound.is_subtype_of(db, least_upper_bound));
debug_assert!(current_bounds.is_none_or(
|(greatest_lower_bound, least_upper_bound)| {
greatest_lower_bound.is_subtype_of(db, least_upper_bound)
}
));
// We've been tracking the lower and upper bound that the types for this path must
// satisfy. Pass those bounds along and let the caller choose a representative type
// from within that range.
f(greatest_lower_bound, least_upper_bound);
f(current_bounds);
}
Node::AlwaysFalse => {
@@ -1171,6 +1193,9 @@ impl<'db> Node<'db> {
}
Node::Interior(interior) => {
let (greatest_lower_bound, least_upper_bound) =
current_bounds.unwrap_or((Type::Never, Type::object()));
// For an interior node, there are two outgoing paths: one for the `if_true`
// branch, and one for the `if_false` branch.
//
@@ -1185,8 +1210,7 @@ impl<'db> Node<'db> {
IntersectionType::from_elements(db, [least_upper_bound, constraint.upper(db)]);
interior.if_true(db).find_representative_types_inner(
db,
new_greatest_lower_bound,
new_least_upper_bound,
Some((new_greatest_lower_bound, new_least_upper_bound)),
f,
);
@@ -1202,8 +1226,7 @@ impl<'db> Node<'db> {
// path.
interior.if_false(db).find_representative_types_inner(
db,
greatest_lower_bound,
least_upper_bound,
Some((greatest_lower_bound, least_upper_bound)),
f,
);
}
@@ -2239,6 +2262,9 @@ impl<'db> ConstraintAssignment<'db> {
///
/// We support several kinds of sequent:
///
/// - `¬C₁ → false`: This indicates that `C₁` is always true. Any path that assumes it is false is
/// impossible and can be pruned.
///
/// - `C₁ ∧ C₂ → false`: This indicates that `C₁` and `C₂` are disjoint: it is not possible for
/// both to hold. Any path that assumes both is impossible and can be pruned.
///
@@ -2250,8 +2276,10 @@ impl<'db> ConstraintAssignment<'db> {
/// holds but `D` does _not_ is impossible and can be pruned.
#[derive(Debug, Default, Eq, PartialEq, get_size2::GetSize, salsa::Update)]
struct SequentMap<'db> {
/// Sequents of the form `¬C₁ → false`
single_tautologies: FxHashSet<ConstrainedTypeVar<'db>>,
/// Sequents of the form `C₁ ∧ C₂ → false`
impossibilities: FxHashSet<(ConstrainedTypeVar<'db>, ConstrainedTypeVar<'db>)>,
pair_impossibilities: FxHashSet<(ConstrainedTypeVar<'db>, ConstrainedTypeVar<'db>)>,
/// Sequents of the form `C₁ ∧ C₂ → D`
pair_implications: FxHashMap<
(ConstrainedTypeVar<'db>, ConstrainedTypeVar<'db>),
@@ -2310,13 +2338,17 @@ impl<'db> SequentMap<'db> {
}
}
fn add_impossibility(
fn add_single_tautology(&mut self, ante: ConstrainedTypeVar<'db>) {
self.single_tautologies.insert(ante);
}
fn add_pair_impossibility(
&mut self,
db: &'db dyn Db,
ante1: ConstrainedTypeVar<'db>,
ante2: ConstrainedTypeVar<'db>,
) {
self.impossibilities
self.pair_impossibilities
.insert(Self::pair_key(db, ante1, ante2));
}
@@ -2352,6 +2384,15 @@ impl<'db> SequentMap<'db> {
}
fn add_sequents_for_single(&mut self, db: &'db dyn Db, constraint: ConstrainedTypeVar<'db>) {
// If this constraint binds its typevar to `Never ≤ T ≤ object`, then the typevar can take
// on any type, and the constraint is always satisfied.
let lower = constraint.lower(db);
let upper = constraint.upper(db);
if lower.is_never() && upper.is_object() {
self.add_single_tautology(constraint);
return;
}
// If the lower or upper bound of this constraint is a typevar, we can propagate the
// constraint:
//
@@ -2362,8 +2403,6 @@ impl<'db> SequentMap<'db> {
// Technically, (1) also allows `(S = T) → (S = S)`, but the rhs of that is vacuously true,
// so we don't add a sequent for that case.
let lower = constraint.lower(db);
let upper = constraint.upper(db);
let post_constraint = match (lower, upper) {
// Case 1
(Type::TypeVar(lower_typevar), Type::TypeVar(upper_typevar)) => {
@@ -2568,7 +2607,7 @@ impl<'db> SequentMap<'db> {
self.enqueue_constraint(intersection_constraint);
}
None => {
self.add_impossibility(db, left_constraint, right_constraint);
self.add_pair_impossibility(db, left_constraint, right_constraint);
}
}
}
@@ -2593,7 +2632,7 @@ impl<'db> SequentMap<'db> {
}
};
for (ante1, ante2) in &self.map.impossibilities {
for (ante1, ante2) in &self.map.pair_impossibilities {
maybe_write_prefix(f)?;
write!(
f,
@@ -2726,7 +2765,15 @@ impl<'db> PathAssignments<'db> {
// don't anticipate the sequent maps to be very large. We might consider avoiding the
// brute-force search.
for (ante1, ante2) in &map.impossibilities {
for ante in &map.single_tautologies {
if self.assignment_holds(ante.when_false()) {
// The sequent map says (ante1) is always true, and the current path asserts that
// it's false.
return Err(PathAssignmentConflict);
}
}
for (ante1, ante2) in &map.pair_impossibilities {
if self.assignment_holds(ante1.when_true()) && self.assignment_holds(ante2.when_true())
{
// The sequent map says (ante1 ∧ ante2) is an impossible combination, and the
@@ -3088,8 +3135,8 @@ impl<'db> GenericContext<'db> {
});
// Then we find all of the "representative types" for each typevar in the constraint set.
let mut types = vec![Type::Never; self.len(db)];
for (i, bound_typevar) in self.variables(db).enumerate() {
let mut error_occurred = false;
let types = self.variables(db).map(|bound_typevar| {
// Each representative type represents one of the ways that the typevar can satisfy the
// constraint, expressed as a lower/upper bound on the types that the typevar can
// specialize to.
@@ -3101,40 +3148,55 @@ impl<'db> GenericContext<'db> {
// _each_ of the paths into separate specializations, but it's not clear what we would
// do with that, so instead we just report the ambiguity as a specialization failure.
let mut satisfied = false;
let mut unconstrained = false;
let mut greatest_lower_bound = Type::Never;
let mut least_upper_bound = Type::object();
abstracted.find_representative_types(
db,
bound_typevar.identity(db),
|lower_bound, upper_bound| {
satisfied = true;
greatest_lower_bound =
UnionType::from_elements(db, [greatest_lower_bound, lower_bound]);
least_upper_bound =
IntersectionType::from_elements(db, [least_upper_bound, upper_bound]);
},
);
abstracted.find_representative_types(db, bound_typevar.identity(db), |bounds| {
satisfied = true;
match bounds {
Some((lower_bound, upper_bound)) => {
greatest_lower_bound =
UnionType::from_elements(db, [greatest_lower_bound, lower_bound]);
least_upper_bound =
IntersectionType::from_elements(db, [least_upper_bound, upper_bound]);
}
None => {
unconstrained = true;
}
}
});
// If there are no satisfiable paths in the BDD, then there is no valid specialization
// for this constraint set.
if !satisfied {
// TODO: Construct a useful error here
return Err(());
error_occurred = true;
return None;
}
// The BDD is satisfiable, but the typevar is unconstrained, then we use `None` to tell
// specialize_recursive to fall back on the typevar's default.
if unconstrained {
return None;
}
// If `lower ≰ upper`, then there is no type that satisfies all of the paths in the
// BDD. That's an ambiguous specialization, as described above.
if !greatest_lower_bound.is_subtype_of(db, least_upper_bound) {
// TODO: Construct a useful error here
return Err(());
error_occurred = true;
return None;
}
// Of all of the types that satisfy all of the paths in the BDD, we choose the
// "largest" one (i.e., "closest to `object`") as the specialization.
types[i] = least_upper_bound;
}
Some(least_upper_bound)
});
Ok(self.specialize_recursive(db, types.into_boxed_slice()))
let specialization = self.specialize_recursive(db, types);
if error_occurred {
return Err(());
}
Ok(specialization)
}
}

View File

@@ -8,13 +8,13 @@ use super::{
use crate::diagnostic::did_you_mean;
use crate::diagnostic::format_enumeration;
use crate::lint::{Level, LintRegistryBuilder, LintStatus};
use crate::place::Place;
use crate::semantic_index::definition::{Definition, DefinitionKind};
use crate::semantic_index::place::{PlaceTable, ScopedPlaceId};
use crate::semantic_index::{global_scope, place_table, use_def_map};
use crate::suppression::FileSuppressionId;
use crate::types::KnownInstanceType;
use crate::types::call::CallError;
use crate::types::class::{DisjointBase, DisjointBaseKind, Field};
use crate::types::class::{DisjointBase, DisjointBaseKind, Field, MethodDecorator};
use crate::types::function::{FunctionType, KnownFunction};
use crate::types::liskov::{MethodKind, SynthesizedMethodKind};
use crate::types::string_annotation::{
@@ -27,6 +27,7 @@ use crate::types::{
ProtocolInstanceType, SpecialFormType, SubclassOfInner, Type, TypeContext, binding_type,
infer_isolated_expression, protocol_class::ProtocolClass,
};
use crate::types::{KnownInstanceType, MemberLookupPolicy};
use crate::{Db, DisplaySettings, FxIndexMap, Module, ModuleName, Program, declare_lint};
use itertools::Itertools;
use ruff_db::{
@@ -3519,6 +3520,27 @@ pub(super) fn report_invalid_method_override<'db>(
"Definition is incompatible with `{overridden_method}`"
));
let class_member = |cls: ClassType<'db>| {
cls.class_member(db, member, MemberLookupPolicy::default())
.place
};
if let Place::Defined(Type::FunctionLiteral(subclass_function), _, _) = class_member(subclass)
&& let Place::Defined(Type::FunctionLiteral(superclass_function), _, _) =
class_member(superclass)
&& let Ok(superclass_function_kind) =
MethodDecorator::try_from_fn_type(db, superclass_function)
&& let Ok(subclass_function_kind) = MethodDecorator::try_from_fn_type(db, subclass_function)
&& superclass_function_kind != subclass_function_kind
{
diagnostic.info(format_args!(
"`{class_name}.{member}` is {subclass_function_kind} \
but `{overridden_method}` is {superclass_function_kind}",
superclass_function_kind = superclass_function_kind.description(),
subclass_function_kind = subclass_function_kind.description(),
));
}
diagnostic.info("This violates the Liskov Substitution Principle");
if !subclass_definition_kind.is_function_def()
@@ -3545,9 +3567,11 @@ pub(super) fn report_invalid_method_override<'db>(
.full_range(db, &parsed_module(db, superclass_scope.file(db)).load(db)),
);
let superclass_function_span = superclass_type
.as_bound_method()
.and_then(|method| signature_span(method.function(db)));
let superclass_function_span = match superclass_type {
Type::FunctionLiteral(function) => signature_span(function),
Type::BoundMethod(method) => signature_span(method.function(db)),
_ => None,
};
let superclass_definition_kind = definition.kind(db);

View File

@@ -107,6 +107,8 @@ pub struct TypeDisplayDetails<'db> {
pub targets: Vec<TextRange>,
/// Metadata for each range
pub details: Vec<TypeDetail<'db>>,
/// Whether the label is valid Python syntax
pub is_valid_syntax: bool,
}
/// Abstraction over "are we doing normal formatting, or tracking ranges with metadata?"
@@ -119,6 +121,7 @@ struct TypeDetailsWriter<'db> {
label: String,
targets: Vec<TextRange>,
details: Vec<TypeDetail<'db>>,
is_valid_syntax: bool,
}
impl<'db> TypeDetailsWriter<'db> {
@@ -127,6 +130,7 @@ impl<'db> TypeDetailsWriter<'db> {
label: String::new(),
targets: Vec::new(),
details: Vec::new(),
is_valid_syntax: true,
}
}
@@ -136,6 +140,7 @@ impl<'db> TypeDetailsWriter<'db> {
label: self.label,
targets: self.targets,
details: self.details,
is_valid_syntax: self.is_valid_syntax,
}
}
@@ -192,6 +197,13 @@ impl<'a, 'b, 'db> TypeWriter<'a, 'b, 'db> {
self.with_detail(TypeDetail::Type(ty))
}
fn set_invalid_syntax(&mut self) {
match self {
TypeWriter::Formatter(_) => {}
TypeWriter::Details(details) => details.is_valid_syntax = false,
}
}
fn join<'c>(&'c mut self, separator: &'static str) -> Join<'a, 'b, 'c, 'db> {
Join {
fmt: self,
@@ -539,6 +551,7 @@ impl<'db> FmtDetailed<'db> for ClassDisplay<'db> {
let line_index = line_index(self.db, file);
let class_offset = self.class.header_range(self.db).start();
let line_number = line_index.line_index(class_offset);
f.set_invalid_syntax();
write!(f, " @ {path}:{line_number}")?;
}
Ok(())
@@ -599,6 +612,7 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
.fmt_detailed(f),
},
Protocol::Synthesized(synthetic) => {
f.set_invalid_syntax();
f.write_char('<')?;
f.with_type(Type::SpecialForm(SpecialFormType::Protocol))
.write_str("Protocol")?;
@@ -618,6 +632,7 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
},
Type::PropertyInstance(_) => f.with_type(self.ty).write_str("property"),
Type::ModuleLiteral(module) => {
f.set_invalid_syntax();
write!(
f.with_type(self.ty),
"<module '{}'>",
@@ -625,6 +640,7 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
)
}
Type::ClassLiteral(class) => {
f.set_invalid_syntax();
let mut f = f.with_type(self.ty);
f.write_str("<class '")?;
class
@@ -633,6 +649,7 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
f.write_str("'>")
}
Type::GenericAlias(generic) => {
f.set_invalid_syntax();
let mut f = f.with_type(self.ty);
f.write_str("<class '")?;
generic
@@ -691,7 +708,7 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
db: self.db,
settings: self.settings.clone(),
};
f.set_invalid_syntax();
f.write_str("bound method ")?;
self_ty
.display_with(self.db, self.settings.singleline())
@@ -729,51 +746,57 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
}
}
}
Type::KnownBoundMethod(KnownBoundMethodType::FunctionTypeDunderGet(function)) => {
write!(
f,
"<method-wrapper `__get__` of `{function}`>",
function = function.name(self.db),
)
Type::KnownBoundMethod(method_type) => {
f.set_invalid_syntax();
match method_type {
KnownBoundMethodType::FunctionTypeDunderGet(function) => {
write!(
f,
"<method-wrapper `__get__` of `{function}`>",
function = function.name(self.db),
)
}
KnownBoundMethodType::FunctionTypeDunderCall(function) => {
write!(
f,
"<method-wrapper `__call__` of `{function}`>",
function = function.name(self.db),
)
}
KnownBoundMethodType::PropertyDunderGet(_) => {
f.write_str("<method-wrapper `__get__` of `property` object>")
}
KnownBoundMethodType::PropertyDunderSet(_) => {
f.write_str("<method-wrapper `__set__` of `property` object>")
}
KnownBoundMethodType::StrStartswith(_) => {
f.write_str("<method-wrapper `startswith` of `str` object>")
}
KnownBoundMethodType::ConstraintSetRange => {
f.write_str("bound method `ConstraintSet.range`")
}
KnownBoundMethodType::ConstraintSetAlways => {
f.write_str("bound method `ConstraintSet.always`")
}
KnownBoundMethodType::ConstraintSetNever => {
f.write_str("bound method `ConstraintSet.never`")
}
KnownBoundMethodType::ConstraintSetImpliesSubtypeOf(_) => {
f.write_str("bound method `ConstraintSet.implies_subtype_of`")
}
KnownBoundMethodType::ConstraintSetSatisfies(_) => {
f.write_str("bound method `ConstraintSet.satisfies`")
}
KnownBoundMethodType::ConstraintSetSatisfiedByAllTypeVars(_) => {
f.write_str("bound method `ConstraintSet.satisfied_by_all_typevars`")
}
KnownBoundMethodType::GenericContextSpecializeConstrained(_) => {
f.write_str("bound method `GenericContext.specialize_constrained`")
}
}
}
Type::KnownBoundMethod(KnownBoundMethodType::FunctionTypeDunderCall(function)) => {
write!(
f,
"<method-wrapper `__call__` of `{function}`>",
function = function.name(self.db),
)
}
Type::KnownBoundMethod(KnownBoundMethodType::PropertyDunderGet(_)) => {
f.write_str("<method-wrapper `__get__` of `property` object>")
}
Type::KnownBoundMethod(KnownBoundMethodType::PropertyDunderSet(_)) => {
f.write_str("<method-wrapper `__set__` of `property` object>")
}
Type::KnownBoundMethod(KnownBoundMethodType::StrStartswith(_)) => {
f.write_str("<method-wrapper `startswith` of `str` object>")
}
Type::KnownBoundMethod(KnownBoundMethodType::ConstraintSetRange) => {
f.write_str("bound method `ConstraintSet.range`")
}
Type::KnownBoundMethod(KnownBoundMethodType::ConstraintSetAlways) => {
f.write_str("bound method `ConstraintSet.always`")
}
Type::KnownBoundMethod(KnownBoundMethodType::ConstraintSetNever) => {
f.write_str("bound method `ConstraintSet.never`")
}
Type::KnownBoundMethod(KnownBoundMethodType::ConstraintSetImpliesSubtypeOf(_)) => {
f.write_str("bound method `ConstraintSet.implies_subtype_of`")
}
Type::KnownBoundMethod(KnownBoundMethodType::ConstraintSetSatisfies(_)) => {
f.write_str("bound method `ConstraintSet.satisfies`")
}
Type::KnownBoundMethod(KnownBoundMethodType::ConstraintSetSatisfiedByAllTypeVars(
_,
)) => f.write_str("bound method `ConstraintSet.satisfied_by_all_typevars`"),
Type::KnownBoundMethod(KnownBoundMethodType::GenericContextSpecializeConstrained(
_,
)) => f.write_str("bound method `GenericContext.specialize_constrained`"),
Type::WrapperDescriptor(kind) => {
f.set_invalid_syntax();
let (method, object) = match kind {
WrapperDescriptorKind::FunctionTypeDunderGet => ("__get__", "function"),
WrapperDescriptorKind::PropertyDunderGet => ("__get__", "property"),
@@ -782,9 +805,11 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
write!(f, "<wrapper-descriptor `{method}` of `{object}` objects>")
}
Type::DataclassDecorator(_) => {
f.set_invalid_syntax();
f.write_str("<decorator produced by dataclass-like function>")
}
Type::DataclassTransformer(_) => {
f.set_invalid_syntax();
f.write_str("<decorator produced by typing.dataclass_transform>")
}
Type::Union(union) => union
@@ -828,11 +853,13 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
write!(f, ".{}", enum_literal.name(self.db))
}
Type::TypeVar(bound_typevar) => {
f.set_invalid_syntax();
write!(f, "{}", bound_typevar.identity(self.db).display(self.db))
}
Type::AlwaysTruthy => f.with_type(self.ty).write_str("AlwaysTruthy"),
Type::AlwaysFalsy => f.with_type(self.ty).write_str("AlwaysFalsy"),
Type::BoundSuper(bound_super) => {
f.set_invalid_syntax();
f.write_str("<super: ")?;
Type::from(bound_super.pivot_class(self.db))
.display_with(self.db, self.settings.singleline())
@@ -852,6 +879,7 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
.display_with(self.db, self.settings.singleline())
.fmt_detailed(f)?;
if let Some(name) = type_is.place_name(self.db) {
f.set_invalid_syntax();
f.write_str(" @ ")?;
f.write_str(&name)?;
}
@@ -1029,6 +1057,7 @@ impl<'db> FmtDetailed<'db> for DisplayOverloadLiteral<'db> {
settings: self.settings.clone(),
};
f.set_invalid_syntax();
f.write_str("def ")?;
write!(f, "{}", self.literal.name(self.db))?;
type_parameters.fmt_detailed(f)?;
@@ -1075,7 +1104,7 @@ impl<'db> FmtDetailed<'db> for DisplayFunctionType<'db> {
db: self.db,
settings: self.settings.clone(),
};
f.set_invalid_syntax();
f.write_str("def ")?;
write!(f, "{}", self.ty.name(self.db))?;
type_parameters.fmt_detailed(f)?;
@@ -1256,6 +1285,7 @@ impl<'db> DisplayGenericContext<'_, 'db> {
if idx > 0 {
f.write_str(", ")?;
}
f.set_invalid_syntax();
f.write_str(bound_typevar.typevar(self.db).name(self.db))?;
}
f.write_char(']')
@@ -1268,6 +1298,7 @@ impl<'db> DisplayGenericContext<'_, 'db> {
if idx > 0 {
f.write_str(", ")?;
}
f.set_invalid_syntax();
write!(f, "{}", bound_typevar.identity(self.db).display(self.db))?;
}
f.write_char(']')
@@ -1358,6 +1389,7 @@ impl<'db> DisplaySpecialization<'db> {
if idx > 0 {
f.write_str(", ")?;
}
f.set_invalid_syntax();
write!(f, "{}", bound_typevar.identity(self.db).display(self.db))?;
f.write_str(" = ")?;
ty.display_with(self.db, self.settings.clone())
@@ -1505,6 +1537,7 @@ impl<'db> FmtDetailed<'db> for DisplaySignature<'_, 'db> {
fn fmt_detailed(&self, f: &mut TypeWriter<'_, '_, 'db>) -> fmt::Result {
// Immediately write a marker signaling we're starting a signature
let _ = f.with_detail(TypeDetail::SignatureStart);
f.set_invalid_syntax();
// When we exit this function, write a marker signaling we're ending a signature
let mut f = f.with_detail(TypeDetail::SignatureEnd);
let multiline = self.settings.multiline && self.parameters.len() > 1;
@@ -1694,6 +1727,7 @@ impl<'db> FmtDetailed<'db> for DisplayOmitted {
} else {
self.plural
};
f.set_invalid_syntax();
write!(f, "... omitted {} {}", self.count, noun)
}
}
@@ -1908,6 +1942,7 @@ impl<'db> FmtDetailed<'db> for DisplayIntersectionType<'_, 'db> {
}),
);
f.set_invalid_syntax();
f.join(" & ").entries(tys).finish()
}
}
@@ -1960,6 +1995,7 @@ struct DisplayMaybeParenthesizedType<'db> {
impl<'db> FmtDetailed<'db> for DisplayMaybeParenthesizedType<'db> {
fn fmt_detailed(&self, f: &mut TypeWriter<'_, '_, 'db>) -> fmt::Result {
let write_parentheses = |f: &mut TypeWriter<'_, '_, 'db>| {
f.set_invalid_syntax();
f.write_char('(')?;
self.ty
.display_with(self.db, self.settings.clone())

View File

@@ -522,14 +522,15 @@ impl<'db> GenericContext<'db> {
/// Creates a specialization of this generic context. Panics if the length of `types` does not
/// match the number of typevars in the generic context.
///
/// You are allowed to provide types that mention the typevars in this generic context.
pub(crate) fn specialize_recursive(
self,
db: &'db dyn Db,
mut types: Box<[Type<'db>]>,
) -> Specialization<'db> {
/// If any provided type is `None`, we will use the corresponding typevar's default type. You
/// are allowed to provide types that mention the typevars in this generic context.
pub(crate) fn specialize_recursive<I>(self, db: &'db dyn Db, types: I) -> Specialization<'db>
where
I: IntoIterator<Item = Option<Type<'db>>>,
I::IntoIter: ExactSizeIterator,
{
let mut types = self.fill_in_defaults(db, types);
let len = types.len();
assert!(self.len(db) == len);
loop {
let mut any_changed = false;
for i in 0..len {
@@ -564,10 +565,7 @@ impl<'db> GenericContext<'db> {
Specialization::new(db, self, Box::from([element_type]), None, Some(tuple))
}
/// Creates a specialization of this generic context. Panics if the length of `types` does not
/// match the number of typevars in the generic context. If any provided type is `None`, we
/// will use the corresponding typevar's default type.
pub(crate) fn specialize_partial<I>(self, db: &'db dyn Db, types: I) -> Specialization<'db>
fn fill_in_defaults<I>(self, db: &'db dyn Db, types: I) -> Box<[Type<'db>]>
where
I: IntoIterator<Item = Option<Type<'db>>>,
I::IntoIter: ExactSizeIterator,
@@ -610,7 +608,18 @@ impl<'db> GenericContext<'db> {
expanded[idx] = default;
}
Specialization::new(db, self, expanded.into_boxed_slice(), None, None)
expanded.into_boxed_slice()
}
/// Creates a specialization of this generic context. Panics if the length of `types` does not
/// match the number of typevars in the generic context. If any provided type is `None`, we
/// will use the corresponding typevar's default type.
pub(crate) fn specialize_partial<I>(self, db: &'db dyn Db, types: I) -> Specialization<'db>
where
I: IntoIterator<Item = Option<Type<'db>>>,
I::IntoIter: ExactSizeIterator,
{
Specialization::new(db, self, self.fill_in_defaults(db, types), None, None)
}
pub(crate) fn normalized_impl(self, db: &'db dyn Db, visitor: &NormalizedVisitor<'db>) -> Self {
@@ -1045,11 +1054,6 @@ impl<'db> Specialization<'db> {
Specialization::new(db, self.generic_context(db), types, None, None)
}
#[must_use]
pub(crate) fn normalized(self, db: &'db dyn Db) -> Self {
self.normalized_impl(db, &NormalizedVisitor::default())
}
pub(crate) fn normalized_impl(self, db: &'db dyn Db, visitor: &NormalizedVisitor<'db>) -> Self {
let types: Box<[_]> = self
.types(db)

View File

@@ -679,11 +679,13 @@ impl<'db> TypeInferenceBuilder<'db, '_> {
}
Type::unknown()
}
ast::Expr::Subscript(ast::ExprSubscript {
value,
slice: parameters,
..
}) => {
ast::Expr::Subscript(
subscript @ ast::ExprSubscript {
value,
slice: parameters,
..
},
) => {
let parameters_ty = match self.infer_expression(value, TypeContext::default()) {
Type::SpecialForm(SpecialFormType::Union) => match &**parameters {
ast::Expr::Tuple(tuple) => {
@@ -698,6 +700,40 @@ impl<'db> TypeInferenceBuilder<'db, '_> {
}
_ => self.infer_subclass_of_type_expression(parameters),
},
value_ty @ Type::ClassLiteral(class_literal) => {
if class_literal.is_protocol(self.db()) {
SubclassOfType::from(
self.db(),
todo_type!("type[T] for protocols").expect_dynamic(),
)
} else {
match class_literal.generic_context(self.db()) {
Some(generic_context) => {
let db = self.db();
let specialize = |types: &[Option<Type<'db>>]| {
SubclassOfType::from(
db,
class_literal.apply_specialization(db, |_| {
generic_context
.specialize_partial(db, types.iter().copied())
}),
)
};
self.infer_explicit_callable_specialization(
subscript,
value_ty,
generic_context,
specialize,
)
}
None => {
// TODO: emit a diagnostic if you try to specialize a non-generic class.
self.infer_type_expression(parameters);
todo_type!("specialized non-generic class")
}
}
}
}
_ => {
self.infer_type_expression(parameters);
todo_type!("unsupported nested subscript in type[X]")

View File

@@ -49,11 +49,6 @@ fn check_class_declaration<'db>(
return;
};
// TODO: classmethods and staticmethods
if function.is_classmethod(db) || function.is_staticmethod(db) {
return;
}
// Constructor methods are not checked for Liskov compliance
if matches!(
&*member.name,

View File

@@ -300,7 +300,7 @@ impl<'db> ProtocolInterface<'db> {
.and(db, || {
our_type.has_relation_to_impl(
db,
Type::Callable(other_type.bind_self(db, None)),
Type::Callable(protocol_bind_self(db, other_type, None)),
inferable,
relation,
relation_visitor,
@@ -313,7 +313,7 @@ impl<'db> ProtocolInterface<'db> {
ProtocolMemberKind::Method(other_method),
) => our_method.bind_self(db, None).has_relation_to_impl(
db,
other_method.bind_self(db, None),
protocol_bind_self(db, other_method, None),
inferable,
relation,
relation_visitor,
@@ -712,7 +712,7 @@ impl<'a, 'db> ProtocolMember<'a, 'db> {
.map(|callable| callable.apply_self(db, fallback_other))
.has_relation_to_impl(
db,
method.bind_self(db, Some(fallback_other)),
protocol_bind_self(db, *method, Some(fallback_other)),
inferable,
relation,
relation_visitor,
@@ -912,3 +912,16 @@ fn proto_interface_cycle_initial<'db>(
) -> ProtocolInterface<'db> {
ProtocolInterface::empty(db)
}
/// Bind `self`, and *also* discard the functionlike-ness of the callable.
///
/// This additional upcasting is required in order for protocols with `__call__` method
/// members to be considered assignable to `Callable` types, since the `Callable` supertype
/// of the `__call__` method will be function-like but a `Callable` type is not.
fn protocol_bind_self<'db>(
db: &'db dyn Db,
callable: CallableType<'db>,
self_type: Option<Type<'db>>,
) -> CallableType<'db> {
CallableType::new(db, callable.signatures(db).bind_self(db, self_type), false)
}

View File

@@ -2,7 +2,8 @@ use std::borrow::Cow;
use lsp_types::request::InlayHintRequest;
use lsp_types::{InlayHintParams, Url};
use ty_ide::{InlayHintKind, InlayHintLabel, inlay_hints};
use ruff_db::files::File;
use ty_ide::{InlayHintKind, InlayHintLabel, InlayHintTextEdit, inlay_hints};
use ty_project::ProjectDatabase;
use crate::PositionEncoding;
@@ -64,7 +65,14 @@ impl BackgroundDocumentRequestHandler for InlayHintRequestHandler {
padding_left: None,
padding_right: None,
data: None,
text_edits: None,
text_edits: Some(
hint.text_edits
.into_iter()
.filter_map(|text_edit| {
inlay_hint_text_edit(text_edit, db, file, snapshot.encoding())
})
.collect(),
),
})
})
.collect();
@@ -100,3 +108,26 @@ fn inlay_hint_label(
}
lsp_types::InlayHintLabel::LabelParts(label_parts)
}
fn inlay_hint_text_edit(
inlay_hint_text_edit: InlayHintTextEdit,
db: &ProjectDatabase,
file: File,
encoding: PositionEncoding,
) -> Option<lsp_types::TextEdit> {
Some(lsp_types::TextEdit {
range: lsp_types::Range {
start: inlay_hint_text_edit
.range
.start()
.to_lsp_position(db, file, encoding)?
.local_position(),
end: inlay_hint_text_edit
.range
.end()
.to_lsp_position(db, file, encoding)?
.local_position(),
},
new_text: inlay_hint_text_edit.new_text,
})
}

View File

@@ -63,7 +63,22 @@ y = foo(1)
}
}
],
"kind": 1
"kind": 1,
"textEdits": [
{
"range": {
"start": {
"line": 5,
"character": 1
},
"end": {
"line": 5,
"character": 1
}
},
"newText": ": int"
}
]
},
{
"position": {
@@ -91,7 +106,8 @@ y = foo(1)
"value": "="
}
],
"kind": 2
"kind": 2,
"textEdits": []
}
]
"#);

View File

@@ -501,7 +501,7 @@ export interface InitializedPlayground {
// Run once during startup. Initializes monaco, loads the wasm file, and restores the previous editor state.
async function startPlayground(): Promise<InitializedPlayground> {
const ty = await import("../ty_wasm");
const ty = await import("ty_wasm");
await ty.default();
const version = ty.version();
const monaco = await loader.init();

View File

@@ -3,6 +3,7 @@ import tailwindcss from "@tailwindcss/vite";
import react from "@vitejs/plugin-react-swc";
import { dirname, join } from "path";
import { fileURLToPath } from "url";
import { normalizePath } from "vite";
import { viteStaticCopy } from "vite-plugin-static-copy";
const PYODIDE_EXCLUDE = [
@@ -15,15 +16,17 @@ const PYODIDE_EXCLUDE = [
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react(), tailwindcss(), viteStaticCopyPyodide()],
optimizeDeps: { exclude: ["pyodide"] },
optimizeDeps: { exclude: ["pyodide", "ty_wasm"] },
});
export function viteStaticCopyPyodide() {
const pyodideDir = dirname(fileURLToPath(import.meta.resolve("pyodide")));
const pyodideDir = normalizePath(
join(dirname(fileURLToPath(import.meta.resolve("pyodide"))), "*"),
);
return viteStaticCopy({
targets: [
{
src: [join(pyodideDir, "*"), ...PYODIDE_EXCLUDE],
src: [pyodideDir, ...PYODIDE_EXCLUDE],
dest: "assets",
},
],

View File

@@ -14,6 +14,7 @@ from __future__ import annotations
import argparse
import subprocess
from pathlib import Path
from _utils import ROOT_DIR, dir_name, get_indent, pascal_case, snake_case
@@ -153,7 +154,7 @@ pub(crate) fn {rule_name_snake}(checker: &mut Checker) {{}}
_rustfmt(rules_mod)
def _rustfmt(path: str) -> None:
def _rustfmt(path: str | Path) -> None:
subprocess.run(["rustfmt", path])

View File

@@ -22,10 +22,11 @@ import re
import tempfile
import time
from asyncio.subprocess import PIPE, create_subprocess_exec
from collections.abc import Awaitable
from contextlib import asynccontextmanager, nullcontext
from pathlib import Path
from signal import SIGINT, SIGTERM
from typing import TYPE_CHECKING, NamedTuple, Self, TypeVar
from typing import TYPE_CHECKING, Any, NamedTuple, Self, TypeVar
if TYPE_CHECKING:
from collections.abc import AsyncIterator, Iterator, Sequence
@@ -342,7 +343,7 @@ DIFF_LINE_RE = re.compile(
r"^(?P<pre>[+-]) (?P<inner>(?P<path>[^:]+):(?P<lnum>\d+):\d+:) (?P<post>.*)$",
)
T = TypeVar("T")
T = TypeVar("T", bound=Awaitable[Any])
async def main(

View File

@@ -1,7 +1,7 @@
[project]
name = "scripts"
version = "0.0.1"
dependencies = ["stdlibs"]
dependencies = ["stdlibs", "tqdm", "mdformat", "pyyaml"]
requires-python = ">=3.12"
[tool.black]
@@ -9,3 +9,11 @@ line-length = 88
[tool.ruff]
extend = "../pyproject.toml"
[tool.ty.src]
# `ty_benchmark` is a standalone project with its own pyproject.toml files, search paths, etc.
exclude = ["./ty_benchmark"]
[tool.ty.rules]
possibly-unresolved-reference = "error"
division-by-zero = "error"

1
scripts/ty_benchmark/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules

View File

@@ -7,15 +7,19 @@
1. Build ty: `cargo build --bin ty --release`
1. `cd` into the benchmark directory: `cd scripts/ty_benchmark`
1. Install Pyright: `npm install`
1. Run benchmarks: `uv run benchmark`
Requires hyperfine 1.20 or newer.
## Known limitations
ty only implements a tiny fraction of Mypy's and Pyright's functionality,
so the benchmarks aren't in any way a fair comparison today. However,
they'll become more meaningful as we build out more type checking features in ty.
The tested type checkers implement Python's type system to varying degrees and
some projects only successfully pass type checking using a specific type checker.
### Windows support
## Updating the benchmark
The script should work on Windows, but we haven't tested it yet.
We do make use of `shlex` which has known limitations when using non-POSIX shells.
The benchmark script supports snapshoting the results when running with `--snapshot` and `--accept`.
The goal of those snapshots is to catch accidental regressions. For example, if a project adds
new dependencies that we fail to install. They are not intended as a testing tool. E.g. the snapshot runner doesn't account for platform differences so that
you might see differences when running the snapshots on your machine.

45
scripts/ty_benchmark/package-lock.json generated Normal file
View File

@@ -0,0 +1,45 @@
{
"name": "ty_benchmark",
"version": "0.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ty_benchmark",
"version": "0.0.0",
"dependencies": {
"pyright": "^1.1.407"
}
},
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/pyright": {
"version": "1.1.407",
"resolved": "https://registry.npmjs.org/pyright/-/pyright-1.1.407.tgz",
"integrity": "sha512-zU+peTFEVUdokNQyUBhGQYt+NWI/3aiNlvBbDBSsn5Ti334XElFUs+GDjQzCbchYfkT+DvMAT3OkMcV4CuEfDg==",
"license": "MIT",
"bin": {
"pyright": "index.js",
"pyright-langserver": "langserver.index.js"
},
"engines": {
"node": ">=14.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.3"
}
}
}
}

View File

@@ -0,0 +1,7 @@
{
"name": "ty_benchmark",
"version": "0.0.0",
"dependencies": {
"pyright": "^1.1.407"
}
}

View File

@@ -3,7 +3,14 @@ name = "ty_benchmark"
version = "0.0.1"
description = "Package for running end-to-end ty benchmarks"
requires-python = ">=3.12"
dependencies = ["mypy", "pyright"]
dependencies = [
# mypy is missing here because we need to install it into the project's virtual environment
# for plugins to work. See `Venv.install`.
# Pyright is missing because we install it with `npm` to avoid measuring the overhead
# of the Python wrapper script (that lazily installs Pyright).
"mslex>=1.3.0",
"pyrefly>=0.41.3",
]
[project.scripts]
benchmark = "benchmark.run:main"
@@ -19,3 +26,7 @@ packages = ["src/benchmark"]
ignore = [
"E501", # We use ruff format
]
[tool.ty.rules]
possibly-unresolved-reference = "error"
division-by-zero = "error"

View File

@@ -0,0 +1,45 @@
ERROR src/black/__init__.py:692:16-23: `sources` may be uninitialized [unbound-name]
ERROR src/black/__init__.py:699:16-23: `sources` may be uninitialized [unbound-name]
ERROR src/black/__init__.py:701:21-28: `sources` may be uninitialized [unbound-name]
ERROR src/black/__init__.py:716:25-32: `sources` may be uninitialized [unbound-name]
ERROR src/black/__init__.py:989:13-21: Object of class `AnsiToWin32` has no attribute `detach` [missing-attribute]
ERROR src/black/__init__.py:1049:9-17: Object of class `AnsiToWin32` has no attribute `detach` [missing-attribute]
ERROR src/black/__init__.py:1285:24-43: `normalized_contents` may be uninitialized [unbound-name]
ERROR src/black/__init__.py:1286:24-36: `newline_type` may be uninitialized [unbound-name]
ERROR src/black/__init__.py:1297:52-64: `newline_type` may be uninitialized [unbound-name]
ERROR src/black/comments.py:260:5-265:18: `int | None` is not assignable to `None` (caused by inconsistent types when breaking cycles) [bad-assignment]
ERROR src/black/comments.py:640:12-19: `Preview` may be uninitialized [unbound-name]
ERROR src/black/concurrency.py:61:33-83: Argument `Future[list[BaseException | Any]]` is not assignable to parameter `future` with type `Awaitable[tuple[Any]] | Generator[Any, None, tuple[Any]]` in function `asyncio.events.AbstractEventLoop.run_until_complete` [bad-argument-type]
ERROR src/black/handle_ipynb_magics.py:106:5-77: Could not find import of `tokenize_rt` [missing-import]
ERROR src/black/handle_ipynb_magics.py:130:5-77: Could not find import of `tokenize_rt` [missing-import]
ERROR src/black/handle_ipynb_magics.py:171:5-66: Could not find import of `IPython.core.inputtransformer2` [missing-import]
ERROR src/black/handle_ipynb_magics.py:292:25-29: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR src/black/linegen.py:1577:9-34: Object of class `Node` has no attribute `value` [missing-attribute]
ERROR src/black/output.py:89:31-35: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR src/black/output.py:91:31-42: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR src/black/strings.py:295:8-24: `new_escape_count` may be uninitialized [unbound-name]
ERROR src/black/strings.py:295:27-44: `orig_escape_count` may be uninitialized [unbound-name]
ERROR src/black/strings.py:298:8-24: `new_escape_count` may be uninitialized [unbound-name]
ERROR src/black/strings.py:298:28-45: `orig_escape_count` may be uninitialized [unbound-name]
ERROR src/black/trans.py:55:16-36: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:256:19-32: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:472:19-32: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:503:10-23: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:544:10-23: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:752:55-68: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:985:19-32: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:1111:57-70: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:1480:19-32: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/black/trans.py:1630:25-31: `csplit` may be uninitialized [unbound-name]
ERROR src/black/trans.py:2162:19-32: `type[Err[CannotTransform] | Ok[TypeVar[T]]]` is not subscriptable [unsupported-operation]
ERROR src/blib2to3/pgen2/conv.py:35:1-33: Could not find import of `pgen2` [missing-import]
ERROR src/blib2to3/pgen2/conv.py:77:34-43: Object of class `NoneType` has no attribute `groups` [missing-attribute]
ERROR src/blib2to3/pgen2/driver.py:76:20-25: `token` may be uninitialized [unbound-name]
ERROR src/blib2to3/pgen2/driver.py:169:26-33: `_prefix` may be uninitialized [unbound-name]
ERROR src/blib2to3/pgen2/parse.py:367:13-28: Object of class `NoneType` has no attribute `append` [missing-attribute]
ERROR src/blib2to3/pgen2/parse.py:392:17-32: Object of class `NoneType` has no attribute `append` [missing-attribute]
ERROR src/blib2to3/pytree.py:670:24-34: `newcontent` may be uninitialized [unbound-name]
ERROR src/blib2to3/pytree.py:756:24-39: `wrapped_content` may be uninitialized [unbound-name]
ERROR src/blib2to3/pytree.py:847:34-45: `save_stderr` may be uninitialized [unbound-name]
INFO Checking project configured at `<CWD>/pyrefly.toml`
INFO 43 errors (2 suppressed)

View File

@@ -0,0 +1,81 @@
<CWD>/src/black/__init__.py
<CWD>/src/black/__init__.py:30:6 - warning: Import "_black_version" could not be resolved from source (reportMissingModuleSource)
<CWD>/src/black/__init__.py:989:15 - error: Cannot access attribute "detach" for class "AnsiToWin32"
  Attribute "detach" is unknown (reportAttributeAccessIssue)
<CWD>/src/black/__init__.py:1049:11 - error: Cannot access attribute "detach" for class "AnsiToWin32"
  Attribute "detach" is unknown (reportAttributeAccessIssue)
<CWD>/src/black/__init__.py:1285:24 - error: "normalized_contents" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/__init__.py:1286:24 - error: "newline_type" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/__init__.py:1297:52 - error: "newline_type" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/cache.py
<CWD>/src/black/cache.py:15:6 - warning: Import "_black_version" could not be resolved from source (reportMissingModuleSource)
<CWD>/src/black/cache.py:144:59 - error: Type "dict[str, tuple[float | int | str, ...]]" is not assignable to declared type "dict[str, tuple[float, int, str]]" (reportAssignmentType)
<CWD>/src/black/files.py
<CWD>/src/black/files.py:95:12 - error: "directory" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/files.py:426:16 - error: Type "TextIOWrapper[_WrappedBuffer] | StreamWrapper" is not assignable to return type "TextIOWrapper[_WrappedBuffer] | AnsiToWin32"
  Type "TextIOWrapper[_WrappedBuffer] | StreamWrapper" is not assignable to type "TextIOWrapper[_WrappedBuffer] | AnsiToWin32"
    Type "StreamWrapper" is not assignable to type "TextIOWrapper[_WrappedBuffer] | AnsiToWin32"
      "StreamWrapper" is not assignable to "TextIOWrapper[_WrappedBuffer]"
      "StreamWrapper" is not assignable to "AnsiToWin32" (reportReturnType)
<CWD>/src/black/handle_ipynb_magics.py
<CWD>/src/black/handle_ipynb_magics.py:106:10 - error: Import "tokenize_rt" could not be resolved (reportMissingImports)
<CWD>/src/black/handle_ipynb_magics.py:130:10 - error: Import "tokenize_rt" could not be resolved (reportMissingImports)
<CWD>/src/black/handle_ipynb_magics.py:171:10 - error: Import "IPython.core.inputtransformer2" could not be resolved (reportMissingImports)
<CWD>/src/black/linegen.py
<CWD>/src/black/linegen.py:766:21 - error: Type "list[StringMerger | StringParenStripper | StringSplitter | Transformer | StringParenWrapper | rhs]" is not assignable to declared type "list[Transformer]"
  Type "rhs" is not assignable to type "Transformer" (reportAssignmentType)
<CWD>/src/black/linegen.py:774:21 - error: Type "list[StringMerger | StringParenStripper | StringSplitter | StringParenWrapper | rhs]" is not assignable to declared type "list[Transformer]"
  Type "rhs" is not assignable to type "Transformer" (reportAssignmentType)
<CWD>/src/black/linegen.py:778:76 - error: Type "list[Transformer | rhs]" is not assignable to declared type "list[Transformer]"
  Type "rhs" is not assignable to type "Transformer" (reportAssignmentType)
<CWD>/src/black/linegen.py:780:33 - error: Type "list[rhs]" is not assignable to declared type "list[Transformer]"
  Type "rhs" is not assignable to type "Transformer" (reportAssignmentType)
<CWD>/src/black/linegen.py:887:12 - error: "matching_bracket" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/linegen.py:887:36 - error: "tail_leaves" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/linegen.py:891:9 - error: "head_leaves" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/linegen.py:894:9 - error: "body_leaves" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/strings.py
<CWD>/src/black/strings.py:295:8 - error: Operator ">" not supported for types "Unbound | Unknown" and "Unbound | int"
  Operator ">" not supported for types "Unbound" and "Unbound" (reportOperatorIssue)
<CWD>/src/black/strings.py:295:8 - error: "new_escape_count" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/strings.py:295:27 - error: "orig_escape_count" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/strings.py:298:8 - error: Operator "==" not supported for types "Unbound | Unknown" and "Unbound | int"
  Operator "==" not supported for types "Unbound" and "Unbound" (reportOperatorIssue)
<CWD>/src/black/strings.py:298:8 - error: "new_escape_count" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/strings.py:298:28 - error: "orig_escape_count" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/trans.py
<CWD>/src/black/trans.py:232:5 - error: Variable "__name__" is marked Final and overrides non-Final variable of same name in class "type" (reportIncompatibleVariableOverride)
<CWD>/src/black/trans.py:1041:42 - error: "idx" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/black/trans.py:1630:25 - error: "csplit" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/blackd/__init__.py
<CWD>/src/blackd/__init__.py:23:6 - warning: Import "_black_version" could not be resolved from source (reportMissingModuleSource)
<CWD>/src/blib2to3/pgen2/driver.py
<CWD>/src/blib2to3/pgen2/driver.py:76:20 - error: "token" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/blib2to3/pgen2/driver.py:169:26 - error: "_prefix" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/blib2to3/pgen2/tokenize.py
<CWD>/src/blib2to3/pgen2/tokenize.py:64:1 - warning: Operation on "__all__" is not supported, so exported symbol list may be incorrect (reportUnsupportedDunderAll)
<CWD>/src/blib2to3/pytree.py
<CWD>/src/blib2to3/pytree.py:365:18 - error: "current" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/blib2to3/pytree.py:373:5 - error: Declaration "fixers_applied" is obscured by a declaration of the same name (reportRedeclaration)
<CWD>/src/blib2to3/pytree.py:433:9 - error: Method "_eq" overrides class "Base" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "_P@_eq", override parameter is type "Leaf"
    "Base*" is not assignable to "Leaf" (reportIncompatibleMethodOverride)
<CWD>/src/blib2to3/pytree.py:444:28 - error: Argument of type "list[Any] | None" cannot be assigned to parameter "fixers_applied" of type "list[Any]" in function "__init__"
  Type "list[Any] | None" is not assignable to type "list[Any]"
    "None" is not assignable to "list[Any]" (reportArgumentType)
<CWD>/src/blib2to3/pytree.py:670:24 - error: "newcontent" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/blib2to3/pytree.py:756:24 - error: "wrapped_content" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/blib2to3/pytree.py:800:25 - error: Argument of type "list[NL]" cannot be assigned to parameter "value" of type "NL" in function "__setitem__"
  Type "list[NL]" is not assignable to type "NL"
    "list[NL]" is not assignable to "Node"
    "list[NL]" is not assignable to "Leaf" (reportArgumentType)
<CWD>/src/blib2to3/pytree.py:836:25 - error: Argument of type "list[NL]" cannot be assigned to parameter "value" of type "NL" in function "__setitem__"
  Type "list[NL]" is not assignable to type "NL"
    "list[NL]" is not assignable to "Node"
    "list[NL]" is not assignable to "Leaf" (reportArgumentType)
<CWD>/src/blib2to3/pytree.py:843:25 - error: Argument of type "list[NL]" cannot be assigned to parameter "value" of type "NL" in function "__setitem__"
  Type "list[NL]" is not assignable to type "NL"
    "list[NL]" is not assignable to "Node"
    "list[NL]" is not assignable to "Leaf" (reportArgumentType)
<CWD>/src/blib2to3/pytree.py:847:34 - error: "save_stderr" is possibly unbound (reportPossiblyUnboundVariable)
40 errors, 4 warnings, 0 informations

View File

@@ -0,0 +1,2 @@
Success: no issues found in 42 source files
Warning: unused section(s) in pyproject.toml: module = ['tests.data.*']

View File

@@ -0,0 +1,27 @@
src/black/__init__.py:989:13: warning[possibly-missing-attribute] Attribute `detach` may be missing on object of type `TextIOWrapper[_WrappedBuffer] | AnsiToWin32`
src/black/__init__.py:1378:23: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Node | Leaf`
src/black/cache.py:144:59: error[invalid-assignment] Object of type `dict[str | Unknown, tuple[@Todo] | Unknown]` is not assignable to `dict[str, tuple[int | float, int, str]]`
src/black/handle_ipynb_magics.py:106:10: error[unresolved-import] Cannot resolve imported module `tokenize_rt`
src/black/handle_ipynb_magics.py:130:10: error[unresolved-import] Cannot resolve imported module `tokenize_rt`
src/black/handle_ipynb_magics.py:171:10: error[unresolved-import] Cannot resolve imported module `IPython.core.inputtransformer2`
src/black/handle_ipynb_magics.py:393:17: error[unresolved-attribute] Object of type `expr` has no attribute `attr`
src/black/handle_ipynb_magics.py:447:16: error[unresolved-attribute] Object of type `expr` has no attribute `attr`
src/black/handle_ipynb_magics.py:449:18: error[unresolved-attribute] Object of type `expr` has no attribute `attr`
src/black/handle_ipynb_magics.py:455:49: error[unresolved-attribute] Object of type `expr` has no attribute `attr`
src/black/handle_ipynb_magics.py:484:16: error[unresolved-attribute] Object of type `expr` has no attribute `attr`
src/black/handle_ipynb_magics.py:493:18: error[unresolved-attribute] Object of type `expr` has no attribute `attr`
src/black/handle_ipynb_magics.py:495:18: error[unresolved-attribute] Object of type `expr` has no attribute `attr`
src/black/linegen.py:222:41: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Node | Leaf`
src/black/linegen.py:1576:9: error[invalid-assignment] Object of type `Literal[""]` is not assignable to attribute `value` on type `Leaf | Node`
src/black/linegen.py:1577:9: error[invalid-assignment] Object of type `Literal[""]` is not assignable to attribute `value` on type `Node | Leaf`
src/black/linegen.py:1757:25: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Node | Leaf`
src/black/linegen.py:1795:13: error[invalid-assignment] Object of type `Literal[""]` is not assignable to attribute `value` on type `Node | Leaf`
src/black/linegen.py:1796:13: error[invalid-assignment] Object of type `Literal[""]` is not assignable to attribute `value` on type `Node | Leaf`
src/black/nodes.py:746:32: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Leaf | Node`
src/black/rusty.py:28:23: error[invalid-argument-type] Argument to class `Err` is incorrect: Expected `Exception`, found `typing.TypeVar`
src/blib2to3/pgen2/conv.py:35:6: error[unresolved-import] Cannot resolve imported module `pgen2`
src/blib2to3/pgen2/conv.py:77:34: warning[possibly-missing-attribute] Attribute `groups` may be missing on object of type `Match[str] | None`
src/blib2to3/pgen2/grammar.py:151:16: error[invalid-return-type] Return type does not match returned value: expected `_P@copy`, found `Grammar`
src/blib2to3/pgen2/parse.py:367:13: warning[possibly-missing-attribute] Attribute `append` may be missing on object of type `list[Node | Leaf] | None`
src/blib2to3/pytree.py:149:13: error[unresolved-attribute] Unresolved attribute `parent` on type `object`.
Found 26 diagnostics

View File

@@ -0,0 +1,656 @@
ERROR discord/abc.py:123:9-15: Class member `PinnedMessage.pinned` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/abc.py:474:28-29: Argument `dict[str, Any]` is not assignable to parameter `object` with type `TypedDict[ChannelPositionUpdate]` in function `list.append` [bad-argument-type]
ERROR discord/abc.py:578:44-81: Argument `list[TypedDict[PermissionOverwrite]] | list[@_] | object` is not assignable to parameter `iterable` with type `Iterable[str]` in function `enumerate.__new__` [bad-argument-type]
ERROR discord/abc.py:579:37-47: Argument `str` is not assignable to parameter `data` with type `TypedDict[PermissionOverwrite]` in function `_Overwrites.__init__` [bad-argument-type]
ERROR discord/abc.py:1031:72-81: Argument `int` is not assignable to parameter `type` with type `Literal[0, 1]` in function `discord.http.HTTPClient.edit_channel_permissions` [bad-argument-type]
ERROR discord/abc.py:1052:64-79: Argument `int` is not assignable to parameter `channel_type` with type `Literal[0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 15, 16]` in function `discord.http.HTTPClient.create_channel` [bad-argument-type]
ERROR discord/abc.py:1224:25-37: Object of class `NoneType` has no attribute `id` [missing-attribute]
ERROR discord/abc.py:1357:25-67: Argument `int | None` is not assignable to parameter `target_type` with type `Literal[1, 2] | None` in function `discord.http.HTTPClient.create_invite` [bad-argument-type]
ERROR discord/abc.py:1808:30-32: Invalid key for TypedDict `ChannelPins`, got `Literal[-1]` [bad-typed-dict-key]
ERROR discord/abc.py:1815:33-40: No matching overload found for function `reversed.__new__` called with arguments: (type[reversed[_T]], list[TypedDict[MessagePin]] | TypedDict[ChannelPins]) [no-matching-overload]
ERROR discord/abc.py:1818:39-44: Argument `list[TypedDict[MessagePin]] | reversed[Unknown] | TypedDict[ChannelPins]` is not assignable to parameter `iterable` with type `Iterable[TypedDict[MessagePin]]` in function `enumerate.__new__` [bad-argument-type]
ERROR discord/abc.py:1821:23-30: Type of yielded value `Message` is not assignable to declared return type `PinnedMessage` [invalid-yield]
ERROR discord/abc.py:2091:51-62: Default `type[VoiceClient]` is not assignable to parameter `cls` with type `(Client, Connectable) -> T` [bad-function-definition]
ERROR discord/activity.py:286:9-16: Class member `Activity.to_dict` overrides parent class `BaseActivity` in an inconsistent manner [bad-override]
ERROR discord/activity.py:455:9-16: Class member `Game.to_dict` overrides parent class `BaseActivity` in an inconsistent manner [bad-override]
ERROR discord/activity.py:566:9-16: Class member `Streaming.to_dict` overrides parent class `BaseActivity` in an inconsistent manner [bad-override]
ERROR discord/activity.py:822:9-16: Class member `CustomActivity.to_dict` overrides parent class `BaseActivity` in an inconsistent manner [bad-override]
ERROR discord/activity.py:836:26-46: Cannot set item in `dict[str, int | str | None]` [unsupported-operation]
ERROR discord/app_commands/checks.py:390:64-71: Argument `((Interaction[Any]) -> Cooldown | None) | ((Interaction[Any]) -> Coroutine[Any, Any, Cooldown | None])` is not assignable to parameter with type `(Interaction[Any]) -> Awaitable[Cooldown] | Cooldown` in function `discord.utils.maybe_coroutine` [bad-argument-type]
ERROR discord/app_commands/commands.py:235:9-38: Object of class `FunctionType` has no attribute `pass_command_binding` [missing-attribute]
ERROR discord/app_commands/commands.py:393:29-76: Object of class `FunctionType` has no attribute `__discord_app_commands_param_description__` [missing-attribute]
ERROR discord/app_commands/commands.py:402:19-61: Object of class `FunctionType` has no attribute `__discord_app_commands_param_rename__` [missing-attribute]
ERROR discord/app_commands/commands.py:409:19-62: Object of class `FunctionType` has no attribute `__discord_app_commands_param_choices__` [missing-attribute]
ERROR discord/app_commands/commands.py:416:24-72: Object of class `FunctionType` has no attribute `__discord_app_commands_param_autocomplete__` [missing-attribute]
ERROR discord/app_commands/commands.py:456:5-48: Object of class `FunctionType` has no attribute `__discord_app_commands_base_function__` [missing-attribute]
ERROR discord/app_commands/commands.py:683:28-45: Object of class `FunctionType` has no attribute `__self__` [missing-attribute]
ERROR discord/app_commands/commands.py:684:41-58: Object of class `FunctionType` has no attribute `__func__` [missing-attribute]
ERROR discord/app_commands/commands.py:2477:17-53: Object of class `FunctionType` has no attribute `__discord_app_commands_checks__` [missing-attribute]
ERROR discord/app_commands/commands.py:2479:13-49: Object of class `FunctionType` has no attribute `__discord_app_commands_checks__` [missing-attribute]
ERROR discord/app_commands/errors.py:483:27-33: `errors` may be uninitialized [unbound-name]
ERROR discord/app_commands/errors.py:484:72-78: `errors` may be uninitialized [unbound-name]
ERROR discord/app_commands/installs.py:113:16-22: Returned type `list[int]` is not assignable to declared return type `list[Literal[0, 1]]` [bad-return]
ERROR discord/app_commands/installs.py:213:16-22: Returned type `list[int]` is not assignable to declared return type `list[Literal[0, 1, 2]]` [bad-return]
ERROR discord/app_commands/models.py:217:89-112: Type `object` is not iterable [not-iterable]
ERROR discord/app_commands/models.py:370:57-89: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/app_commands/models.py:372:57-61: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/app_commands/models.py:375:40-53: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/app_commands/models.py:378:34-74: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/app_commands/models.py:539:42-97: Cannot set item in `dict[str, str | ChoiceT]` [unsupported-operation]
ERROR discord/app_commands/models.py:926:16-67: Returned type `Guild | Member | None` is not assignable to declared return type `Member | None` [bad-return]
ERROR discord/app_commands/models.py:1057:31-58: `bool | object` is not assignable to attribute `required` with type `bool` [bad-assignment]
ERROR discord/app_commands/models.py:1058:55-76: `float | int | object | None` is not assignable to attribute `min_value` with type `float | int | None` [bad-assignment]
ERROR discord/app_commands/models.py:1059:55-76: `float | int | object | None` is not assignable to attribute `max_value` with type `float | int | None` [bad-assignment]
ERROR discord/app_commands/models.py:1060:42-64: `int | object | None` is not assignable to attribute `min_length` with type `int | None` [bad-assignment]
ERROR discord/app_commands/models.py:1061:42-64: `int | object | None` is not assignable to attribute `max_length` with type `int | None` [bad-assignment]
ERROR discord/app_commands/models.py:1062:35-66: `bool | object` is not assignable to attribute `autocomplete` with type `bool` [bad-assignment]
ERROR discord/app_commands/models.py:1063:84-113: Type `object` is not iterable [not-iterable]
ERROR discord/app_commands/models.py:1064:92-115: Type `object` is not iterable [not-iterable]
ERROR discord/app_commands/models.py:1162:89-112: Type `object` is not iterable [not-iterable]
ERROR discord/app_commands/models.py:1235:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[1, 2, 3]` [bad-typed-dict-key]
ERROR discord/app_commands/transformers.py:110:67-73: Argument `locale_str | str` is not assignable to parameter `string` with type `locale_str` in function `discord.app_commands.translator.Translator._checked_translate` [bad-argument-type]
ERROR discord/app_commands/transformers.py:115:67-78: Argument `locale_str | str` is not assignable to parameter `string` with type `locale_str` in function `discord.app_commands.translator.Translator._checked_translate` [bad-argument-type]
ERROR discord/app_commands/transformers.py:139:31-76: Cannot set item in `dict[str, bool | int | str]` [unsupported-operation]
ERROR discord/app_commands/transformers.py:141:37-74: Cannot set item in `dict[str, bool | int | str]` [unsupported-operation]
ERROR discord/app_commands/transformers.py:149:29-43: Cannot set item in `dict[str, bool | int | str]` [unsupported-operation]
ERROR discord/app_commands/transformers.py:151:29-43: Cannot set item in `dict[str, bool | int | str]` [unsupported-operation]
ERROR discord/app_commands/transformers.py:238:22-26: Expected a type form, got instance of `Self@Transformer` [not-a-type]
ERROR discord/app_commands/translator.py:119:61-85: Expected a type form, got instance of `Literal['Command[Any, ..., Any]']` [not-a-type]
ERROR discord/app_commands/translator.py:119:87-100: Expected a type form, got instance of `Literal['ContextMenu']` [not-a-type]
ERROR discord/app_commands/translator.py:122:62-86: Expected a type form, got instance of `Literal['Command[Any, ..., Any]']` [not-a-type]
ERROR discord/app_commands/translator.py:125:99-106: Expected a type form, got instance of `Literal['Group']` [not-a-type]
ERROR discord/app_commands/translator.py:128:107-118: Expected a type form, got instance of `Literal['Parameter']` [not-a-type]
ERROR discord/app_commands/translator.py:130:96-109: Expected a type form, got instance of `Literal['Choice[Any]']` [not-a-type]
ERROR discord/app_commands/tree.py:366:29-36: Cannot set item in `dict[tuple[str, int | None, int], ContextMenu]` [unsupported-operation]
ERROR discord/app_commands/tree.py:748:27-34: Type of yielded value `ContextMenu` is not assignable to declared return type `Command[Any, Ellipsis, Any] | Group` [invalid-yield]
ERROR discord/app_commands/tree.py:814:19-38: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[ClientT], type[Interaction]) [no-matching-overload]
ERROR discord/app_commands/tree.py:1127:19-38: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[ClientT], type[Interaction]) [no-matching-overload]
ERROR discord/app_commands/tree.py:1180:66-89: `list[TypedDict[_BooleanValueApplicationCommandInteractionDataOption] | TypedDict[_CommandGroupApplicationCommandInteractionDataOption] | TypedDict[_IntegerValueApplicationCommandInteractionDataOption] | TypedDict[_NumberValueApplicationCommandInteractionDataOption] | TypedDict[_SnowflakeValueApplicationCommandInteractionDataOption] | TypedDict[_StringValueApplicationCommandInteractionDataOption]] | object` is not assignable to `list[TypedDict[_BooleanValueApplicationCommandInteractionDataOption] | TypedDict[_CommandGroupApplicationCommandInteractionDataOption] | TypedDict[_IntegerValueApplicationCommandInteractionDataOption] | TypedDict[_NumberValueApplicationCommandInteractionDataOption] | TypedDict[_SnowflakeValueApplicationCommandInteractionDataOption] | TypedDict[_StringValueApplicationCommandInteractionDataOption]]` [bad-assignment]
ERROR discord/app_commands/tree.py:1190:31-56: `list[TypedDict[_BooleanValueApplicationCommandInteractionDataOption] | TypedDict[_CommandGroupApplicationCommandInteractionDataOption] | TypedDict[_IntegerValueApplicationCommandInteractionDataOption] | TypedDict[_NumberValueApplicationCommandInteractionDataOption] | TypedDict[_SnowflakeValueApplicationCommandInteractionDataOption] | TypedDict[_StringValueApplicationCommandInteractionDataOption]] | object` is not assignable to variable `options` with type `list[TypedDict[_BooleanValueApplicationCommandInteractionDataOption] | TypedDict[_CommandGroupApplicationCommandInteractionDataOption] | TypedDict[_IntegerValueApplicationCommandInteractionDataOption] | TypedDict[_NumberValueApplicationCommandInteractionDataOption] | TypedDict[_SnowflakeValueApplicationCommandInteractionDataOption] | TypedDict[_StringValueApplicationCommandInteractionDataOption]]` [bad-assignment]
ERROR discord/app_commands/tree.py:1216:9-32: Object of class `Interaction` has no attribute `_cs_command` [missing-attribute]
ERROR discord/app_commands/tree.py:1221:63-87: Argument `dict[@_, @_] | TypedDict[ResolvedData]` is not assignable to parameter `resolved` with type `TypedDict[ResolvedData]` in function `discord.app_commands.namespace.Namespace._get_resolved_items` [bad-argument-type]
ERROR discord/app_commands/tree.py:1224:48-69: `int | object | str | None` is not assignable to `int | str | None` [bad-assignment]
ERROR discord/app_commands/tree.py:1273:9-32: Object of class `Interaction` has no attribute `_cs_command` [missing-attribute]
ERROR discord/app_commands/tree.py:1277:44-68: Argument `dict[@_, @_] | TypedDict[ResolvedData]` is not assignable to parameter `resolved` with type `TypedDict[ResolvedData]` in function `discord.app_commands.namespace.Namespace.__init__` [bad-argument-type]
ERROR discord/app_commands/tree.py:1280:9-34: Object of class `Interaction` has no attribute `_cs_namespace` [missing-attribute]
ERROR discord/appinfo.py:222:45-83: `int | object` is not assignable to attribute `approximate_guild_count` with type `int` [bad-assignment]
ERROR discord/appinfo.py:412:17-41: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:415:21-50: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:418:25-54: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:420:25-54: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:458:16-49: `not in` is not supported between `Literal['bot']` and `None` [not-iterable]
ERROR discord/appinfo.py:462:17-52: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:464:17-52: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:464:55-86: Object of class `NoneType` has no attribute `value` [missing-attribute]
ERROR discord/appinfo.py:466:13-43: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:478:16-48: `not in` is not supported between `Literal['bot']` and `None` [not-iterable]
ERROR discord/appinfo.py:482:17-51: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:484:17-51: Cannot set item in `None` [unsupported-operation]
ERROR discord/appinfo.py:484:54-84: Object of class `NoneType` has no attribute `value` [missing-attribute]
ERROR discord/appinfo.py:486:13-42: Cannot set item in `None` [unsupported-operation]
ERROR discord/asset.py:213:14-20: Class member `Asset._state` overrides parent class `AssetMixin` in an inconsistent manner [bad-override]
ERROR discord/asset.py:385:9-12: Class member `Asset.url` overrides parent class `AssetMixin` in an inconsistent manner [bad-override]
ERROR discord/audit_logs.py:208:27-39: Argument `tuple[Member | Object | Role | User, PermissionOverwrite]` is not assignable to parameter `object` with type `tuple[Object, PermissionOverwrite]` in function `list.append` [bad-argument-type]
ERROR discord/automod.py:164:49-67: TypedDict `_AutoModerationActionMetadataAlert` does not have key `duration_seconds` [bad-typed-dict-key]
ERROR discord/automod.py:164:49-67: TypedDict `_AutoModerationActionMetadataCustomMessage` does not have key `duration_seconds` [bad-typed-dict-key]
ERROR discord/automod.py:167:47-59: TypedDict `_AutoModerationActionMetadataCustomMessage` does not have key `channel_id` [bad-typed-dict-key]
ERROR discord/automod.py:167:47-59: TypedDict `_AutoModerationActionMetadataTimeout` does not have key `channel_id` [bad-typed-dict-key]
ERROR discord/automod.py:171:23-96: No matching overload found for function `AutoModRuleAction.__init__` called with arguments: (type=Literal[AutoModRuleActionType.block_message], custom_message=object | str | @_ | None) [no-matching-overload]
ERROR discord/automod.py:304:32-58: Argument `list[str] | object | None` is not assignable to parameter `keyword_filter` with type `list[str] | None` in function `AutoModTrigger.__init__` [bad-argument-type]
ERROR discord/automod.py:305:32-58: Argument `list[str] | object | None` is not assignable to parameter `regex_patterns` with type `list[str] | None` in function `AutoModTrigger.__init__` [bad-argument-type]
ERROR discord/automod.py:306:28-50: Argument `list[str] | object | None` is not assignable to parameter `allow_list` with type `list[str] | None` in function `AutoModTrigger.__init__` [bad-argument-type]
ERROR discord/automod.py:310:64-87: Argument `list[Literal[1, 2, 3]] | list[int] | object` is not assignable to parameter `value` with type `Sequence[int]` in function `discord.flags.ArrayFlags._from_value` [bad-argument-type]
ERROR discord/automod.py:310:101-123: Argument `list[str] | object | None` is not assignable to parameter `allow_list` with type `list[str] | None` in function `AutoModTrigger.__init__` [bad-argument-type]
ERROR discord/automod.py:315:31-62: Argument `int | object | None` is not assignable to parameter `mention_limit` with type `int | None` in function `AutoModTrigger.__init__` [bad-argument-type]
ERROR discord/automod.py:316:41-84: Argument `bool | object | None` is not assignable to parameter `mention_raid_protection` with type `bool | None` in function `AutoModTrigger.__init__` [bad-argument-type]
ERROR discord/automod.py:388:92-120: Argument `object | TypedDict[_AutoModerationTriggerMetadataKeyword] | TypedDict[_AutoModerationTriggerMetadataKeywordPreset] | None` is not assignable to parameter `data` with type `TypedDict[Empty] | TypedDict[_AutoModerationTriggerMetadataKeyword] | TypedDict[_AutoModerationTriggerMetadataKeywordPreset] | TypedDict[_AutoModerationTriggerMetadataMentionLimit] | None` in function `AutoModTrigger.from_data` [bad-argument-type]
ERROR discord/automod.py:434:20-85: No matching overload found for function `filter.__new__` called with arguments: (type[filter[_T]], None, map[CategoryChannel | ForumChannel | StageChannel | TextChannel | Thread | VoiceChannel | None]) [no-matching-overload]
ERROR discord/automod.py:512:31-35: Cannot set item in `dict[str, list[dict[str, Any]]]` [unsupported-operation]
ERROR discord/automod.py:515:37-53: Cannot set item in `dict[str, list[dict[str, Any]]]` [unsupported-operation]
ERROR discord/automod.py:520:47-63: Cannot set item in `dict[str, list[dict[str, Any]]]` [unsupported-operation]
ERROR discord/automod.py:523:34-41: Cannot set item in `dict[str, list[dict[str, Any]]]` [unsupported-operation]
ERROR discord/automod.py:526:39-67: Cannot set item in `dict[str, list[dict[str, Any]]]` [unsupported-operation]
ERROR discord/automod.py:529:42-73: Cannot set item in `dict[str, list[dict[str, Any]]]` [unsupported-operation]
ERROR discord/backoff.py:63:56-61: Default `Literal[False]` is not assignable to parameter `integral` with type `T` [bad-function-definition]
ERROR discord/channel.py:374:9-16: Class member `TextChannel._update` overrides parent class `GuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:393:9-13: Class member `TextChannel.type` overrides parent class `GuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:1098:15-27: Class member `VocalGuildChannel._get_channel` overrides parent class `Messageable` in an inconsistent manner [bad-override]
ERROR discord/channel.py:1107:9-16: Class member `VocalGuildChannel._update` overrides parent class `GuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:1184:43-47: Argument `Literal[True]` is not assignable to parameter `manage_channels` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/channel.py:1184:62-66: Argument `Literal[True]` is not assignable to parameter `manage_roles` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/channel.py:1546:9-13: Class member `VoiceChannel.type` overrides parent class `VocalGuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:1770:9-16: Class member `StageChannel._update` overrides parent class `VocalGuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:1813:9-13: Class member `StageChannel.type` overrides parent class `VocalGuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:2065:9-16: Class member `CategoryChannel._update` overrides parent class `GuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:2082:9-13: Class member `CategoryChannel.type` overrides parent class `GuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:2478:9-16: Class member `ForumChannel._update` overrides parent class `GuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:2512:9-13: Class member `ForumChannel.type` overrides parent class `GuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:2619:15-20: Class member `ForumChannel.clone` overrides parent class `GuildChannel` in an inconsistent manner [bad-override]
ERROR discord/channel.py:2637:46-97: Cannot set item in `dict[str, bool | int | list[dict[str, Any]] | str | None]` [unsupported-operation]
ERROR discord/channel.py:3036:47-84: Cannot set item in `dict[str, int | str | None]` [unsupported-operation]
ERROR discord/client.py:723:59-70: Unpacked keyword argument `bool | int | None` is not assignable to parameter `initial` with type `bool` in function `discord.gateway.DiscordWebSocket.from_client` [bad-argument-type]
ERROR discord/client.py:723:59-70: Unpacked keyword argument `bool | int | None` is not assignable to parameter `gateway` with type `URL | None` in function `discord.gateway.DiscordWebSocket.from_client` [bad-argument-type]
ERROR discord/client.py:723:59-70: Unpacked keyword argument `bool | int | None` is not assignable to parameter `session` with type `str | None` in function `discord.gateway.DiscordWebSocket.from_client` [bad-argument-type]
ERROR discord/client.py:723:59-70: Unpacked keyword argument `bool | int | None` is not assignable to parameter `resume` with type `bool` in function `discord.gateway.DiscordWebSocket.from_client` [bad-argument-type]
ERROR discord/client.py:723:59-70: Unpacked keyword argument `bool | int | None` is not assignable to parameter `encoding` with type `str` in function `discord.gateway.DiscordWebSocket.from_client` [bad-argument-type]
ERROR discord/client.py:723:59-70: Unpacked keyword argument `bool | int | None` is not assignable to parameter `compress` with type `bool` in function `discord.gateway.DiscordWebSocket.from_client` [bad-argument-type]
ERROR discord/client.py:731:33-105: No matching overload found for function `typing.MutableMapping.update` called with arguments: (sequence=int | None, resume=bool, session=str | None) [no-matching-overload]
ERROR discord/client.py:733:44-59: Cannot set item in `dict[str, bool | int | None]` [unsupported-operation]
ERROR discord/client.py:756:37-762:22: No matching overload found for function `typing.MutableMapping.update` called with arguments: (sequence=int | None, gateway=URL, initial=Literal[False], resume=Literal[True], session=str | None) [no-matching-overload]
ERROR discord/client.py:782:33-787:18: No matching overload found for function `typing.MutableMapping.update` called with arguments: (sequence=int | None, gateway=URL, resume=Literal[True], session=str | None) [no-matching-overload]
ERROR discord/client.py:2975:83-99: Argument `int` is not assignable to parameter `owner_type` with type `Literal[1, 2]` in function `discord.http.HTTPClient.create_entitlement` [bad-argument-type]
ERROR discord/components.py:213:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[1]` [bad-typed-dict-key]
ERROR discord/components.py:297:22-38: `int` is not assignable to TypedDict key `style` with type `Literal[1, 2, 3, 4, 5, 6]` [bad-typed-dict-key]
ERROR discord/components.py:412:40-77: `list[int]` is not assignable to TypedDict key `channel_types` with type `list[Literal[0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 15, 16]]` [bad-typed-dict-key]
ERROR discord/components.py:512:27-31: `None` is not assignable to attribute `_emoji` with type `PartialEmoji` [bad-assignment]
ERROR discord/components.py:613:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[4]` [bad-typed-dict-key]
ERROR discord/components.py:614:22-38: `int` is not assignable to TypedDict key `style` with type `Literal[1, 2]` [bad-typed-dict-key]
ERROR discord/components.py:695:21-37: `str` is not assignable to TypedDict key `type` with type `Literal['channel', 'role', 'user']` [bad-typed-dict-key]
ERROR discord/components.py:802:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[9]` [bad-typed-dict-key]
ERROR discord/components.py:908:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[10]` [bad-typed-dict-key]
ERROR discord/components.py:1139:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[12]` [bad-typed-dict-key]
ERROR discord/components.py:1196:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[13]` [bad-typed-dict-key]
ERROR discord/components.py:1249:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[14]` [bad-typed-dict-key]
ERROR discord/components.py:1251:24-42: `int` is not assignable to TypedDict key `spacing` with type `Literal[1, 2]` [bad-typed-dict-key]
ERROR discord/components.py:1324:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[17]` [bad-typed-dict-key]
ERROR discord/components.py:1326:27-63: `list[TypedDict[ActionRow] | TypedDict[ButtonComponent] | TypedDict[ContainerComponent] | TypedDict[FileComponent] | TypedDict[FileUploadComponent] | TypedDict[LabelComponent] | TypedDict[MediaGalleryComponent] | TypedDict[SectionComponent] | TypedDict[SelectMenu] | TypedDict[SeparatorComponent] | TypedDict[TextComponent] | TypedDict[TextInput] | TypedDict[ThumbnailComponent]]` is not assignable to TypedDict key `components` with type `list[TypedDict[ActionRow] | TypedDict[ContainerComponent] | TypedDict[FileComponent] | TypedDict[MediaGalleryComponent] | TypedDict[SectionComponent] | TypedDict[SeparatorComponent] | TypedDict[TextComponent] | TypedDict[ThumbnailComponent]]` [bad-typed-dict-key]
ERROR discord/components.py:1380:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[18]` [bad-typed-dict-key]
ERROR discord/components.py:1444:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[19]` [bad-typed-dict-key]
ERROR discord/embeds.py:246:28-55: `Colour` is not assignable to attribute `_colour` with type `None` [bad-assignment]
ERROR discord/embeds.py:308:9-15: Class member `Embed.__eq__` overrides parent class `object` in an inconsistent manner [bad-override]
ERROR discord/embeds.py:343:28-33: `Colour` is not assignable to attribute `_colour` with type `None` [bad-assignment]
ERROR discord/embeds.py:345:28-47: `Colour` is not assignable to attribute `_colour` with type `None` [bad-assignment]
ERROR discord/embeds.py:362:31-35: `None` is not assignable to attribute `_timestamp` with type `datetime` [bad-assignment]
ERROR discord/emoji.py:119:14-20: Class member `Emoji._state` overrides parent class `AssetMixin` in an inconsistent manner [bad-override]
ERROR discord/emoji.py:166:9-12: Class member `Emoji.url` overrides parent class `AssetMixin` in an inconsistent manner [bad-override]
ERROR discord/emoji.py:279:32-59: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/enums.py:96:22-42: Expected string literal "cls" [invalid-argument]
ERROR discord/enums.py:113:9-17: ClassVar `EnumMeta.__name__` overrides instance variable of the same name in parent class `type` [bad-override]
ERROR discord/enums.py:960:5-9: Class member `StatusDisplayType.name` overrides parent class `Enum` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/bot.py:89:33-54: `type[(TypeVar[BotT], Message) -> Awaitable[Iterable[str] | str] | Iterable[str] | str]` is not subscriptable [unsupported-operation]
ERROR discord/ext/commands/cog.py:229:38-43: Cannot set item in `dict[Unknown, Command[Any, Ellipsis, Any]]` [unsupported-operation]
ERROR discord/ext/commands/cog.py:268:5-32: Object of class `FunctionType` has no attribute `__cog_special_method__` [missing-attribute]
ERROR discord/ext/commands/cog.py:497:24-39: Object of class `FunctionType` has no attribute `__func__` [missing-attribute]
ERROR discord/ext/commands/cog.py:527:13-36: Object of class `FunctionType` has no attribute `__cog_listener__` [missing-attribute]
ERROR discord/ext/commands/cog.py:530:17-46: Object of class `FunctionType` has no attribute `__cog_listener_names__` [missing-attribute]
ERROR discord/ext/commands/cog.py:532:17-46: Object of class `FunctionType` has no attribute `__cog_listener_names__` [missing-attribute]
ERROR discord/ext/commands/context.py:92:41-70: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/context.py:93:19-48: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/context.py:256:19-38: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/context.py:287:50-71: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/context.py:411:15-27: Class member `Context._get_channel` overrides parent class `Messageable` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/context.py:492:47-51: Argument `Literal[True]` is not assignable to parameter `manage_channels` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/ext/commands/context.py:492:66-70: Argument `Literal[True]` is not assignable to parameter `manage_roles` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/ext/commands/context.py:527:47-51: Argument `Literal[True]` is not assignable to parameter `manage_channels` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/ext/commands/context.py:527:66-70: Argument `Literal[True]` is not assignable to parameter `manage_roles` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/ext/commands/context.py:534:25-29: Argument `Literal[True]` is not assignable to parameter `embed_links` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/ext/commands/context.py:535:26-30: Argument `Literal[True]` is not assignable to parameter `attach_files` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/ext/commands/context.py:536:31-36: Argument `Literal[False]` is not assignable to parameter `send_tts_messages` with type `BoolOrNoneT` in function `discord.permissions.Permissions.update` [bad-argument-type]
ERROR discord/ext/commands/context.py:783:9-15: Class member `Context.typing` overrides parent class `Messageable` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/context.py:847:19-44: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/context.py:1137:12-37: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/context.py:1138:25-50: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/context.py:1140:30-55: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/converter.py:379:16-48: Returned type `tuple[Guild | int | None, int, int]` is not assignable to declared return type `tuple[int | None, int, int]` [bad-return]
ERROR discord/ext/commands/converter.py:402:47-54: Argument `(CategoryChannel & Messageable) | (ForumChannel & Messageable) | (Messageable & PrivateChannel) | PartialMessageable | StageChannel | TextChannel | Thread | VoiceChannel` is not assignable to parameter `channel` with type `DMChannel | GroupChannel | PartialMessageable | StageChannel | TextChannel | Thread | VoiceChannel` in function `discord.message.PartialMessage.__init__` [bad-argument-type]
ERROR discord/ext/commands/converter.py:1119:9-26: Class member `Greedy.__class_getitem__` overrides parent class `list` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/converter.py:1128:31-35: Expected a type form, got instance of `tuple[()] | Any` [not-a-type]
ERROR discord/ext/commands/converter.py:1280:52-59: Expected class object, got `type[Generic]` [invalid-argument]
ERROR discord/ext/commands/converter.py:1326:39-41: Cannot instantiate `Converter` because it is a protocol [bad-instantiation]
ERROR discord/ext/commands/cooldowns.py:171:9-22: Class member `DynamicCooldownMapping.create_bucket` overrides parent class `CooldownMapping` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/core.py:462:22-46: Object of class `FunctionType` has no attribute `__commands_checks__` [missing-attribute]
ERROR discord/ext/commands/core.py:470:24-50: Object of class `FunctionType` has no attribute `__commands_cooldown__` [missing-attribute]
ERROR discord/ext/commands/core.py:475:49-67: Argument `Literal[BucketType.default]` is not assignable to parameter `type` with type `(Context[Any]) -> Any` in function `discord.ext.commands.cooldowns.CooldownMapping.__init__` [bad-argument-type]
ERROR discord/ext/commands/core.py:483:31-64: Object of class `FunctionType` has no attribute `__commands_max_concurrency__` [missing-attribute]
ERROR discord/ext/commands/core.py:495:45-65: `object | None` is not assignable to `GroupMixin[Any] | None` [bad-assignment]
ERROR discord/ext/commands/core.py:500:29-51: Object of class `FunctionType` has no attribute `__before_invoke__` [missing-attribute]
ERROR discord/ext/commands/core.py:508:28-49: Object of class `FunctionType` has no attribute `__after_invoke__` [missing-attribute]
ERROR discord/ext/commands/core.py:680:52-73: Object of class `NoneType` has no attribute `cog_command_error` [missing-attribute]
ERROR discord/ext/commands/core.py:833:28-35: Argument `GroupMixin[Any]` is not assignable to parameter `object` with type `Group[Any, Ellipsis, Any]` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:919:47-68: Object of class `NoneType` has no attribute `cog_before_invoke` [missing-attribute]
ERROR discord/ext/commands/core.py:939:47-67: Object of class `NoneType` has no attribute `cog_after_invoke` [missing-attribute]
ERROR discord/ext/commands/core.py:1183:16-43: Object of class `type` has no attribute `__cog_name__` [missing-attribute]
ERROR discord/ext/commands/core.py:1233:35-62: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1235:35-64: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1237:35-62: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1249:25-122: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1253:35-46: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1257:35-49: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1259:35-49: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1261:31-45: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1263:31-42: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1265:31-42: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR discord/ext/commands/core.py:1312:58-71: Object of class `NoneType` has no attribute `cog_check` [missing-attribute]
ERROR discord/ext/commands/core.py:1502:9-16: Implementation signature `(self: Self@GroupMixin, name: str = ..., cls: type[Command[Any, Ellipsis, Any]] = ..., *args: Any, **kwargs: Unpack[TypedDict[_CommandDecoratorKwargs]]) -> Any` does not accept all arguments that overload signature `(self: GroupMixin[CogT], name: str = ..., *args: Any, **kwargs: Unpack[TypedDict[_CommandDecoratorKwargs]]) -> [ContextT, P, T](((CogT, ContextT, ParamSpec(P)) -> Coroutine[Any, Any, T]) | ((ContextT, ParamSpec(P)) -> Coroutine[Any, Any, T])) -> Command[CogT, P, T]` accepts [inconsistent-overload]
ERROR discord/ext/commands/core.py:1552:29-66: No matching overload found for function `command` called with arguments: (*tuple[Any, ...], name=str, cls=type[Command[Any, Ellipsis, Any]], **TypedDict[_CommandDecoratorKwargs]) [no-matching-overload]
ERROR discord/ext/commands/core.py:1559:9-14: Implementation signature `(self: Self@GroupMixin, name: str = ..., cls: type[Group[Any, Ellipsis, Any]] = ..., *args: Any, **kwargs: Unpack[TypedDict[_GroupDecoratorKwargs]]) -> Any` does not accept all arguments that overload signature `(self: GroupMixin[CogT], name: str = ..., *args: Any, **kwargs: Unpack[TypedDict[_GroupDecoratorKwargs]]) -> [ContextT, P, T](((CogT, ContextT, ParamSpec(P)) -> Coroutine[Any, Any, T]) | ((ContextT, ParamSpec(P)) -> Coroutine[Any, Any, T])) -> Group[CogT, P, T]` accepts [inconsistent-overload]
ERROR discord/ext/commands/core.py:1609:27-64: No matching overload found for function `group` called with arguments: (*tuple[Any, ...], name=str, cls=type[Group[Any, Ellipsis, Any]], **TypedDict[_GroupDecoratorKwargs]) [no-matching-overload]
ERROR discord/ext/commands/core.py:1735:13-21: Implementation signature `(self: Self@_CommandDecorator, func: (...) -> Coroutine[Any, Any, T], /) -> Any` does not accept all arguments that overload signature `(self: Self@_CommandDecorator, func: (CogT, ContextT, ParamSpec(P)) -> Coroutine[Any, Any, T], /) -> Command[CogT, P, T]` accepts [inconsistent-overload]
ERROR discord/ext/commands/core.py:1738:13-21: Implementation signature `(self: Self@_CommandDecorator, func: (...) -> Coroutine[Any, Any, T], /) -> Any` does not accept all arguments that overload signature `(self: Self@_CommandDecorator, func: (ContextT, ParamSpec(P)) -> Coroutine[Any, Any, T], /) -> Command[None, P, T]` accepts [inconsistent-overload]
ERROR discord/ext/commands/core.py:1744:13-21: Implementation signature `(self: Self@_GroupDecorator, func: (...) -> Coroutine[Any, Any, T], /) -> Any` does not accept all arguments that overload signature `(self: Self@_GroupDecorator, func: (CogT, ContextT, ParamSpec(P)) -> Coroutine[Any, Any, T], /) -> Group[CogT, P, T]` accepts [inconsistent-overload]
ERROR discord/ext/commands/core.py:1747:13-21: Implementation signature `(self: Self@_GroupDecorator, func: (...) -> Coroutine[Any, Any, T], /) -> Any` does not accept all arguments that overload signature `(self: Self@_GroupDecorator, func: (ContextT, ParamSpec(P)) -> Coroutine[Any, Any, T], /) -> Group[None, P, T]` accepts [inconsistent-overload]
ERROR discord/ext/commands/core.py:1942:17-41: Object of class `FunctionType` has no attribute `__commands_checks__` [missing-attribute]
ERROR discord/ext/commands/core.py:1944:13-37: Object of class `FunctionType` has no attribute `__commands_checks__` [missing-attribute]
ERROR discord/ext/commands/core.py:1949:9-28: Object of class `FunctionType` has no attribute `predicate` [missing-attribute]
ERROR discord/ext/commands/core.py:1956:9-28: Object of class `FunctionType` has no attribute `predicate` [missing-attribute]
ERROR discord/ext/commands/core.py:2365:17-41: Object of class `FunctionType` has no attribute `__commands_checks__` [missing-attribute]
ERROR discord/ext/commands/core.py:2367:13-37: Object of class `FunctionType` has no attribute `__commands_checks__` [missing-attribute]
ERROR discord/ext/commands/core.py:2368:13-53: Object of class `FunctionType` has no attribute `__discord_app_commands_guild_only__` [missing-attribute]
ERROR discord/ext/commands/core.py:2373:9-28: Object of class `FunctionType` has no attribute `predicate` [missing-attribute]
ERROR discord/ext/commands/core.py:2380:9-28: Object of class `FunctionType` has no attribute `predicate` [missing-attribute]
ERROR discord/ext/commands/core.py:2440:17-41: Object of class `FunctionType` has no attribute `__commands_checks__` [missing-attribute]
ERROR discord/ext/commands/core.py:2442:13-37: Object of class `FunctionType` has no attribute `__commands_checks__` [missing-attribute]
ERROR discord/ext/commands/core.py:2443:13-50: Object of class `FunctionType` has no attribute `__discord_app_commands_is_nsfw__` [missing-attribute]
ERROR discord/ext/commands/core.py:2448:9-28: Object of class `FunctionType` has no attribute `predicate` [missing-attribute]
ERROR discord/ext/commands/core.py:2455:9-28: Object of class `FunctionType` has no attribute `predicate` [missing-attribute]
ERROR discord/ext/commands/core.py:2499:13-39: Object of class `FunctionType` has no attribute `__commands_cooldown__` [missing-attribute]
ERROR discord/ext/commands/core.py:2547:13-39: Object of class `FunctionType` has no attribute `__commands_cooldown__` [missing-attribute]
ERROR discord/ext/commands/core.py:2582:13-46: Object of class `FunctionType` has no attribute `__commands_max_concurrency__` [missing-attribute]
ERROR discord/ext/commands/core.py:2632:31-37: `CogT` is not assignable to upper bound `Context[Any]` of type variable `ContextT` [bad-specialization]
ERROR discord/ext/commands/core.py:2632:32-36: Argument `((CogT, ContextT) -> Coroutine[Any, Any, Any]) | ((ContextT) -> Coroutine[Any, Any, Any])` is not assignable to parameter `coro` with type `((CogT) -> Coroutine[Any, Any, Any]) | ((Unknown, CogT) -> Coroutine[Any, Any, Any])` in function `Command.before_invoke` [bad-argument-type]
ERROR discord/ext/commands/core.py:2634:13-35: Object of class `FunctionType` has no attribute `__before_invoke__` [missing-attribute]
ERROR discord/ext/commands/core.py:2655:30-36: `CogT` is not assignable to upper bound `Context[Any]` of type variable `ContextT` [bad-specialization]
ERROR discord/ext/commands/core.py:2655:31-35: Argument `((CogT, ContextT) -> Coroutine[Any, Any, Any]) | ((ContextT) -> Coroutine[Any, Any, Any])` is not assignable to parameter `coro` with type `((CogT) -> Coroutine[Any, Any, Any]) | ((Unknown, CogT) -> Coroutine[Any, Any, Any])` in function `Command.after_invoke` [bad-argument-type]
ERROR discord/ext/commands/core.py:2657:13-34: Object of class `FunctionType` has no attribute `__after_invoke__` [missing-attribute]
ERROR discord/ext/commands/flags.py:465:32-98: Expected a type form, got instance of `tuple[Unknown, ...]` [not-a-type]
ERROR discord/ext/commands/help.py:248:5-38: Object of class `FunctionType` has no attribute `__help_command_not_overridden__` [missing-attribute]
ERROR discord/ext/commands/help.py:262:14-22: Class member `_HelpCommandImpl.callback` overrides parent class `Command` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/help.py:262:25-50: `BoundMethod[HelpCommand, [BotT](self: HelpCommand, ctx: Context[BotT], /, *, command: str | None = None) -> Coroutine[Unknown, Unknown, None]]` is not assignable to attribute `callback` with type `(self: Self@_HelpCommandImpl, function: ((Context[Any], ...) -> Coroutine[Any, Any, Unknown]) | ((Unknown, Context[Any], ...) -> Coroutine[Any, Any, Unknown])) -> None` [bad-assignment]
ERROR discord/ext/commands/help.py:270:33-41: `BoundMethod[HelpCommand, [BotT](self: HelpCommand, ctx: Context[BotT], error: CommandError, /) -> Coroutine[Unknown, Unknown, None]]` is not assignable to attribute `on_error` with type `Never` [bad-assignment]
ERROR discord/ext/commands/help.py:278:20-24: `None` is not assignable to attribute `cog` with type `(self: Self@_HelpCommandImpl, value: Unknown) -> None` [bad-assignment]
ERROR discord/ext/commands/help.py:311:20-23: `Cog` is not assignable to attribute `cog` with type `(self: Self@_HelpCommandImpl, value: Unknown) -> None` [bad-assignment]
ERROR discord/ext/commands/help.py:319:9-25: Object of class `FunctionType` has no attribute `get_commands` [missing-attribute]
ERROR discord/ext/commands/help.py:320:9-26: Object of class `FunctionType` has no attribute `walk_commands` [missing-attribute]
ERROR discord/ext/commands/help.py:321:20-24: `None` is not assignable to attribute `cog` with type `(self: Self@_HelpCommandImpl, value: Unknown) -> None` [bad-assignment]
ERROR discord/ext/commands/help.py:559:16-38: Returned type `(self: _HelpCommandImpl, value: Unknown) -> None` is not assignable to declared return type `Cog | None` [bad-return]
ERROR discord/ext/commands/help.py:1255:9-24: Class member `DefaultHelpCommand.get_destination` overrides parent class `HelpCommand` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/help.py:1264:15-35: Class member `DefaultHelpCommand.prepare_help_command` overrides parent class `HelpCommand` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/help.py:1520:9-24: Class member `MinimalHelpCommand.get_destination` overrides parent class `HelpCommand` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/help.py:1529:15-35: Class member `MinimalHelpCommand.prepare_help_command` overrides parent class `HelpCommand` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/hybrid.py:61:9-20: Class member `_HybridCommandDecoratorKwargs.description` overrides parent class `_HybridCommandKwargs` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/hybrid.py:69:9-20: Class member `_HybridGroupKwargs.description` overrides parent class `_HybridCommandDecoratorKwargs` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/hybrid.py:73:9-20: Class member `_HybridGroupDecoratorKwargs.description` overrides parent class `_HybridGroupKwargs` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/hybrid.py:113:9-18: Class member `_CallableDefault.__class__` overrides parent class `object` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/hybrid.py:156:43-45: Cannot instantiate `Converter` because it is a protocol [bad-instantiation]
ERROR discord/ext/commands/hybrid.py:232:13-45: Object of class `FunctionType` has no attribute `__hybrid_command_flag__` [missing-attribute]
ERROR discord/ext/commands/hybrid.py:273:63-100: Expected a type form, got instance of `ConverterTransformer` [not-a-type]
ERROR discord/ext/commands/hybrid.py:328:9-39: Object of class `FunctionType` has no attribute `__signature__` [missing-attribute]
ERROR discord/ext/commands/hybrid.py:338:17-47: Object of class `FunctionType` has no attribute `__signature__` [missing-attribute]
ERROR discord/ext/commands/hybrid.py:533:36-66: Expected a valid ParamSpec expression, got `Any` [invalid-param-spec]
ERROR discord/ext/commands/hybrid.py:561:83-104: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/hybrid.py:727:75-96: No matching overload found for function `discord.utils.CachedSlotProperty.__get__` called with arguments: (Interaction[BotT], type[Interaction]) [no-matching-overload]
ERROR discord/ext/commands/hybrid.py:790:9-20: Class member `HybridGroup.add_command` overrides parent class `Group` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/hybrid.py:836:9-16: Class member `HybridGroup.command` overrides parent class `Group` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/hybrid.py:860:9-14: Class member `HybridGroup.group` overrides parent class `Group` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/parameters.py:63:13-46: `inspect.Parameter.POSITIONAL_ONLY` is not a valid enum member [invalid-literal]
ERROR discord/ext/commands/parameters.py:64:13-52: `inspect.Parameter.POSITIONAL_OR_KEYWORD` is not a valid enum member [invalid-literal]
ERROR discord/ext/commands/parameters.py:65:13-45: `inspect.Parameter.VAR_POSITIONAL` is not a valid enum member [invalid-literal]
ERROR discord/ext/commands/parameters.py:66:13-43: `inspect.Parameter.KEYWORD_ONLY` is not a valid enum member [invalid-literal]
ERROR discord/ext/commands/parameters.py:67:13-42: `inspect.Parameter.VAR_KEYWORD` is not a valid enum member [invalid-literal]
ERROR discord/ext/commands/parameters.py:115:9-16: Class member `Parameter.replace` overrides parent class `Parameter` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/parameters.py:324:5-15: Class member `Signature.parameters` overrides parent class `Signature` in an inconsistent manner [bad-override]
ERROR discord/ext/commands/view.py:151:53-64: Argument `str | None` is not assignable to parameter `close_quote` with type `str` in function `discord.ext.commands.errors.ExpectedClosingQuoteError.__init__` [bad-argument-type]
ERROR discord/ext/commands/view.py:162:57-68: Argument `str | None` is not assignable to parameter `close_quote` with type `str` in function `discord.ext.commands.errors.ExpectedClosingQuoteError.__init__` [bad-argument-type]
ERROR discord/ext/tasks/__init__.py:212:36-63: `datetime` is not assignable to attribute `_next_iteration` with type `None` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:214:36-80: `datetime` is not assignable to attribute `_next_iteration` with type `None` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:222:49-69: Argument `None` is not assignable to parameter `dt` with type `datetime` in function `Loop._try_sleep_until` [bad-argument-type]
ERROR discord/ext/tasks/__init__.py:224:44-64: `None` is not assignable to attribute `_last_iteration` with type `datetime` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:225:44-71: `datetime` is not assignable to attribute `_next_iteration` with type `None` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:231:56-100: `<=` is not supported between `None` and `datetime` [unsupported-operation]
ERROR discord/ext/tasks/__init__.py:242:53-73: Argument `None` is not assignable to parameter `dt` with type `datetime` in function `Loop._try_sleep_until` [bad-argument-type]
ERROR discord/ext/tasks/__init__.py:243:48-75: `datetime` is not assignable to attribute `_next_iteration` with type `None` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:266:53-73: Argument `None` is not assignable to parameter `dt` with type `datetime` in function `Loop._try_sleep_until` [bad-argument-type]
ERROR discord/ext/tasks/__init__.py:301:26-29: `T` is not assignable to attribute `_injected` with type `None` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:500:33-70: `tuple[type[OSError], type[GatewayNotFound], type[ConnectionClosed], type[ClientError], type[TimeoutError], *tuple[type[BaseException], ...]]` is not assignable to attribute `_valid_exception` with type `tuple[type[OSError], type[GatewayNotFound], type[ConnectionClosed], type[ClientError], type[TimeoutError]]` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:509:33-35: `tuple[()]` is not assignable to attribute `_valid_exception` with type `tuple[type[OSError], type[GatewayNotFound], type[ConnectionClosed], type[ClientError], type[TimeoutError]]` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:525:33-95: `tuple[type[ClientError] | type[ConnectionClosed] | type[GatewayNotFound] | type[OSError] | type[TimeoutError], ...]` is not assignable to attribute `_valid_exception` with type `tuple[type[OSError], type[GatewayNotFound], type[ConnectionClosed], type[ClientError], type[TimeoutError]]` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:579:29-33: `FT` is not assignable to attribute `_before_loop` with type `None` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:607:28-32: `FT` is not assignable to attribute `_after_loop` with type `None` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:774:36-63: `datetime` is not assignable to attribute `_next_iteration` with type `None` [bad-assignment]
ERROR discord/ext/tasks/__init__.py:777:42-62: Argument `None` is not assignable to parameter `dt` with type `datetime` in function `SleepHandle.recalculate` [bad-argument-type]
ERROR discord/file.py:93:42-44: `(IOBase & PathLike[Any]) | (IOBase & bytes) | (IOBase & str) | BufferedIOBase` is not assignable to attribute `fp` with type `BufferedIOBase` [bad-assignment]
ERROR discord/flags.py:1784:9-20: Class member `ArrayFlags._from_value` overrides parent class `BaseFlags` in an inconsistent manner [bad-override]
ERROR discord/flags.py:1881:9-17: Class member `AutoModPresets.to_array` overrides parent class `ArrayFlags` in an inconsistent manner [bad-override]
ERROR discord/gateway.py:137:48-57: Multiple values for argument `name` in function `threading.Thread.__init__` [bad-keyword-argument]
ERROR discord/gateway.py:218:9-11: Class member `VoiceKeepAliveHandler.ws` overrides parent class `KeepAliveHandler` in an inconsistent manner [bad-override]
ERROR discord/gateway.py:336:92-94: Cannot instantiate `_DecompressionContext` because it is a protocol [bad-instantiation]
ERROR discord/gateway.py:466:13-34: Cannot set item in `int` [unsupported-operation]
ERROR discord/gateway.py:466:37-70: Cannot set item in `dict[str, bool | dict[str, str] | int | str | None]` [unsupported-operation]
ERROR discord/gateway.py:470:13-37: Cannot set item in `int` [unsupported-operation]
ERROR discord/gateway.py:470:40-475:14: Cannot set item in `dict[str, bool | dict[str, str] | int | str | None]` [unsupported-operation]
ERROR discord/gateway.py:478:13-36: Cannot set item in `int` [unsupported-operation]
ERROR discord/gateway.py:735:13-34: Cannot set item in `int` [unsupported-operation]
ERROR discord/gateway.py:735:37-42: Cannot set item in `dict[str, bool | int]` [unsupported-operation]
ERROR discord/gateway.py:738:13-37: Cannot set item in `int` [unsupported-operation]
ERROR discord/gateway.py:738:40-48: Cannot set item in `dict[str, bool | int]` [unsupported-operation]
ERROR discord/gateway.py:741:13-34: Cannot set item in `int` [unsupported-operation]
ERROR discord/gateway.py:741:37-42: Cannot set item in `dict[str, bool | int]` [unsupported-operation]
ERROR discord/guild.py:617:53-95: `object | None` is not assignable to attribute `max_stage_video_users` with type `int | None` [bad-assignment]
ERROR discord/guild.py:631:58-97: `object | None` is not assignable to attribute `approximate_presence_count` with type `int | None` [bad-assignment]
ERROR discord/guild.py:632:56-93: `object | None` is not assignable to attribute `approximate_member_count` with type `int | None` [bad-assignment]
ERROR discord/guild.py:633:51-99: `bool | object` is not assignable to attribute `premium_progress_bar_enabled` with type `bool` [bad-assignment]
ERROR discord/guild.py:1400:22-40: Argument `int` is not assignable to parameter `channel_type` with type `Literal[0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 15, 16]` in function `discord.http.HTTPClient.create_channel` [bad-argument-type]
ERROR discord/guild.py:1517:32-37: Cannot set item in `dict[str, int]` [unsupported-operation]
ERROR discord/guild.py:1627:37-79: Cannot set item in `dict[str, int]` [unsupported-operation]
ERROR discord/guild.py:1735:37-79: Cannot set item in `dict[str, int]` [unsupported-operation]
ERROR discord/guild.py:1908:32-37: Cannot set item in `dict[str, int]` [unsupported-operation]
ERROR discord/guild.py:1932:53-113: Cannot set item in `dict[str, int]` [unsupported-operation]
ERROR discord/guild.py:1934:53-122: Cannot set item in `dict[str, int]` [unsupported-operation]
ERROR discord/guild.py:1947:41-78: Cannot set item in `dict[str, int]` [unsupported-operation]
ERROR discord/guild.py:1961:18-22: Argument `TypedDict[CategoryChannel] | TypedDict[ForumChannel] | TypedDict[MediaChannel] | TypedDict[NewsChannel] | TypedDict[StageChannel] | TypedDict[TextChannel] | TypedDict[ThreadChannel] | TypedDict[VoiceChannel]` is not assignable to parameter `data` with type `TypedDict[ForumChannel] | TypedDict[MediaChannel]` in function `discord.channel.ForumChannel.__init__` [bad-argument-type]
ERROR discord/guild.py:3375:23-95: `EntityType | Any | None` is not assignable to variable `entity_type` with type `EntityType` [bad-assignment]
ERROR discord/guild.py:3389:38-55: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/guild.py:3400:40-59: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/guild.py:3413:37-47: Object of class `NoneType` has no attribute `id` [missing-attribute]
ERROR discord/guild.py:3437:42-50: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/guild.py:3964:37-48: Cannot set item in `dict[str, list[Unknown]]` [unsupported-operation]
ERROR discord/guild.py:3967:33-40: Cannot set item in `dict[str, list[Unknown]]` [unsupported-operation]
ERROR discord/guild.py:4290:52-64: `int` is not assignable to `Literal[1, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 40, 41, 42, 50, 51, 52, 60, 61, 62, 72, 73, 74, 75, 80, 81, 82, 83, 84, 85, 90, 91, 92, 100, 101, 102, 110, 111, 112, 121, 130, 131, 132, 140, 141, 142, 143, 144, 145, 146, 150, 151, 163, 164, 165, 166, 167, 190, 191] | None` [bad-assignment]
ERROR discord/guild.py:4717:32-81: No matching overload found for function `discord.utils.parse_time` called with arguments: (object | None) [no-matching-overload]
ERROR discord/guild.py:4728:32-78: No matching overload found for function `discord.utils.parse_time` called with arguments: (object | None) [no-matching-overload]
ERROR discord/guild.py:4963:18-61: Argument `int | None` is not assignable to parameter `mode` with type `Literal[0, 1] | None` in function `discord.http.HTTPClient.edit_guild_onboarding` [bad-argument-type]
ERROR discord/http.py:113:12-44: Cannot index into `reify` [bad-index]
ERROR discord/http.py:113:12-44: Cannot index into `reify[CIMultiDictProxy[str]]` [bad-index]
ERROR discord/http.py:190:34-46: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:192:34-38: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:196:37-57: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:207:28-38: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:208:36-40: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:211:40-57: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:215:38-46: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:219:22-25: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:221:33-48: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:223:31-39: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:226:28-39: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:229:34-45: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:233:43-102: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:235:43-69: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:237:39-74: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:241:43-70: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:242:9-52: Cannot set item in `list[TypedDict[Embed] | Unknown]` [unsupported-operation]
ERROR discord/http.py:263:39-51: Cannot set item in `dict[str, list[TypedDict[Embed] | Unknown]]` [unsupported-operation]
ERROR discord/http.py:282:17-287:18: Argument `dict[str, BufferedIOBase | str]` is not assignable to parameter `object` with type `dict[str, str]` in function `list.append` [bad-argument-type]
ERROR discord/http.py:399:26-37: Object of class `reify` has no attribute `get` [missing-attribute]
ERROR discord/http.py:402:38-49: Object of class `reify` has no attribute `get` [missing-attribute]
ERROR discord/http.py:404:34-45: Object of class `reify` has no attribute `get` [missing-attribute]
ERROR discord/http.py:407:23-34: Object of class `reify` has no attribute `get` [missing-attribute]
ERROR discord/http.py:411:59-87: Cannot index into `reify` [bad-index]
ERROR discord/http.py:411:59-87: Cannot index into `reify[CIMultiDictProxy[str]]` [bad-index]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `method` with type `str` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `protocols` with type `Iterable[str]` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `timeout` with type `float` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `receive_timeout` with type `float | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `autoclose` with type `bool` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `autoping` with type `bool` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `heartbeat` with type `float | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `origin` with type `str | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `params` with type `Mapping[str, Sequence[float | int | str] | float | int | str] | Sequence[tuple[str, Sequence[float | int | str] | float | int | str]] | str | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `headers` with type `CIMultiDict[str] | CIMultiDictProxy[str] | Iterable[tuple[istr | str, str]] | Mapping[istr, str] | Mapping[str, str] | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `proxy` with type `URL | str | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `ssl` with type `Fingerprint | SSLContext | bool` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `verify_ssl` with type `bool | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `fingerprint` with type `bytes | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `ssl_context` with type `SSLContext | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `proxy_headers` with type `CIMultiDict[str] | CIMultiDictProxy[str] | Iterable[tuple[istr | str, str]] | Mapping[istr, str] | Mapping[str, str] | None` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `compress` with type `int` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:566:53-61: Unpacked keyword argument `BasicAuth | bool | dict[str, str] | float | int | str | None` is not assignable to parameter `max_msg_size` with type `int` in function `aiohttp.client.ClientSession.ws_connect` [bad-argument-type]
ERROR discord/http.py:640:20-29: Cannot use `Ratelimit` as a context manager [bad-context-manager]
ERROR discord/http.py:661:40-60: Object of class `reify` has no attribute `get` [missing-attribute]
ERROR discord/http.py:664:49-92: `in` is not supported between `Literal['X-Ratelimit-Remaining']` and `reify` [not-iterable]
ERROR discord/http.py:664:49-92: `in` is not supported between `Literal['X-Ratelimit-Remaining']` and `reify[CIMultiDictProxy[str]]` [not-iterable]
ERROR discord/http.py:707:36-56: Object of class `reify` has no attribute `get` [missing-attribute]
ERROR discord/http.py:801:44-52: Unpacked keyword argument `str` is not assignable to parameter `allow_redirects` with type `bool` in function `aiohttp.client.ClientSession.get` [bad-argument-type]
ERROR discord/http.py:1075:31-36: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/http.py:1866:41-55: Cannot set item in `dict[str, bool | int]` [unsupported-operation]
ERROR discord/http.py:1869:48-74: Cannot set item in `dict[str, bool | int]` [unsupported-operation]
ERROR discord/http.py:2574:46-65: Cannot set item in `dict[str, list[TypedDict[Prompt]]]` [unsupported-operation]
ERROR discord/http.py:2577:34-41: Cannot set item in `dict[str, list[TypedDict[Prompt]]]` [unsupported-operation]
ERROR discord/http.py:2580:31-35: Cannot set item in `dict[str, list[TypedDict[Prompt]]]` [unsupported-operation]
ERROR discord/integrations.py:200:9-19: Class member `StreamIntegration._from_data` overrides parent class `Integration` in an inconsistent manner [bad-override]
ERROR discord/integrations.py:359:9-19: Class member `BotIntegration._from_data` overrides parent class `Integration` in an inconsistent manner [bad-override]
ERROR discord/interactions.py:214:48-64: `object | TypedDict[ButtonMessageComponentInteractionData] | TypedDict[ChatInputApplicationCommandInteractionData] | TypedDict[MessageApplicationCommandInteractionData] | TypedDict[ModalSubmitInteractionData] | TypedDict[SelectMessageComponentInteractionData] | TypedDict[UserApplicationCommandInteractionData] | None` is not assignable to attribute `data` with type `TypedDict[ButtonMessageComponentInteractionData] | TypedDict[ChatInputApplicationCommandInteractionData] | TypedDict[MessageApplicationCommandInteractionData] | TypedDict[ModalSubmitInteractionData] | TypedDict[SelectMessageComponentInteractionData] | TypedDict[UserApplicationCommandInteractionData] | None` [bad-assignment]
ERROR discord/interactions.py:220:64-102: Type `object` is not iterable [not-iterable]
ERROR discord/interactions.py:250:28-72: `CategoryChannel | ForumChannel | Guild | StageChannel | TextChannel | Thread | VoiceChannel | None` is not assignable to attribute `channel` with type `CategoryChannel | DMChannel | ForumChannel | GroupChannel | StageChannel | TextChannel | Thread | VoiceChannel | None` [bad-assignment]
ERROR discord/interactions.py:307:16-108: Returned type `ConnectionState[ClientT] | Guild | Any | None` is not assignable to declared return type `Guild | None` [bad-return]
ERROR discord/interactions.py:349:32-56: Argument `dict[@_, @_] | TypedDict[ResolvedData]` is not assignable to parameter `resolved` with type `TypedDict[ResolvedData]` in function `discord.app_commands.namespace.Namespace.__init__` [bad-argument-type]
ERROR discord/interactions.py:744:27-78: Argument `_InteractionMessageState` is not assignable to parameter `state` with type `ConnectionState[Client]` in function `discord.message.Message.__init__` [bad-argument-type]
ERROR discord/interactions.py:1427:5-11: Class member `InteractionMessage._state` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/interactions.py:1430:15-19: Class member `InteractionMessage.edit` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/invite.py:402:40-59: `object | None` is not assignable to attribute `revoked` with type `bool | None` [bad-assignment]
ERROR discord/invite.py:407:58-96: `object | None` is not assignable to attribute `approximate_presence_count` with type `int | None` [bad-assignment]
ERROR discord/invite.py:408:56-92: `object | None` is not assignable to attribute `approximate_member_count` with type `int | None` [bad-assignment]
ERROR discord/invite.py:470:23-40: Object of class `Object` has no attribute `get_channel` [missing-attribute]
ERROR discord/invite.py:518:9-11: Class member `Invite.id` overrides parent class `Hashable` in an inconsistent manner [bad-override]
ERROR discord/member.py:155:83-123: No matching overload found for function `discord.utils.parse_time` called with arguments: (object | None) [no-matching-overload]
ERROR discord/member.py:329:39-57: `object | None` is not assignable to attribute `_banner` with type `str | None` [bad-assignment]
ERROR discord/member.py:439:24-42: `object | None` is not assignable to attribute `_banner` with type `str | None` [bad-assignment]
WARN discord/member.py:980:73-97: `datetime.datetime.utcnow` is deprecated [deprecated]
WARN discord/member.py:1041:43-67: `datetime.datetime.utcnow` is deprecated [deprecated]
ERROR discord/mentions.py:134:36-40: Cannot set item in `dict[str, list[int]]` [unsupported-operation]
ERROR discord/mentions.py:136:25-30: Cannot set item in `dict[str, list[int]]` [unsupported-operation]
ERROR discord/message.py:242:37-54: `object | None` is not assignable to attribute `title` with type `str | None` [bad-assignment]
ERROR discord/message.py:713:16-73: Returned type `ConnectionState[Client] | Message | None` is not assignable to declared return type `Message | None` [bad-return]
ERROR discord/message.py:2223:92-121: Argument `object | None` is not assignable to parameter `message_snapshots` with type `list[dict[Literal['message'], TypedDict[MessageSnapshot]]] | None` in function `MessageSnapshot._from_value` [bad-argument-type]
ERROR discord/message.py:2404:30-33: Invalid key for TypedDict `Message`, got `str` [bad-typed-dict-key]
ERROR discord/message.py:2558:20-87: No matching overload found for function `filter.__new__` called with arguments: (type[filter[_T]], None, map[CategoryChannel | ForumChannel | StageChannel | TextChannel | Thread | VoiceChannel | None]) [no-matching-overload]
ERROR discord/onboarding.py:181:20-78: No matching overload found for function `filter.__new__` called with arguments: (type[filter[_T]], None, map[CategoryChannel | ForumChannel | StageChannel | TextChannel | Thread | VoiceChannel | None]) [no-matching-overload]
ERROR discord/onboarding.py:293:21-36: `int` is not assignable to TypedDict key `type` with type `Literal[0, 1]` [bad-typed-dict-key]
ERROR discord/onboarding.py:364:20-86: No matching overload found for function `filter.__new__` called with arguments: (type[filter[_T]], None, map[CategoryChannel | ForumChannel | StageChannel | TextChannel | Thread | VoiceChannel | None]) [no-matching-overload]
ERROR discord/partial_emoji.py:100:9-11: Class member `PartialEmoji.id` overrides parent class `_EmojiTag` in an inconsistent manner [bad-override]
ERROR discord/partial_emoji.py:240:9-12: Class member `PartialEmoji.url` overrides parent class `AssetMixin` in an inconsistent manner [bad-override]
ERROR discord/player.py:221:65-73: Object of class `NoneType` has no attribute `pid` [missing-attribute]
ERROR discord/player.py:224:13-22: Object of class `NoneType` has no attribute `kill` [missing-attribute]
ERROR discord/player.py:226:83-91: Object of class `NoneType` has no attribute `pid` [missing-attribute]
ERROR discord/player.py:228:12-21: Object of class `NoneType` has no attribute `poll` [missing-attribute]
ERROR discord/player.py:229:88-96: Object of class `NoneType` has no attribute `pid` [missing-attribute]
ERROR discord/player.py:230:13-29: Object of class `NoneType` has no attribute `communicate` [missing-attribute]
ERROR discord/player.py:231:93-101: Object of class `NoneType` has no attribute `pid` [missing-attribute]
ERROR discord/player.py:231:103-118: Object of class `NoneType` has no attribute `returncode` [missing-attribute]
ERROR discord/player.py:233:92-100: Object of class `NoneType` has no attribute `pid` [missing-attribute]
ERROR discord/player.py:233:102-117: Object of class `NoneType` has no attribute `returncode` [missing-attribute]
ERROR discord/player.py:331:21-44: Argument `BufferedIOBase | str` is not assignable to parameter `object` with type `str` in function `list.append` [bad-argument-type]
ERROR discord/player.py:443:21-44: Argument `BufferedIOBase | str` is not assignable to parameter `object` with type `str` in function `list.append` [bad-argument-type]
ERROR discord/player.py:591:63-100: Argument `() -> tuple[str | None, int | None] | Unknown` is not assignable to parameter `func` with type `(**tuple[*@_]) -> @_` in function `asyncio.events.AbstractEventLoop.run_in_executor` [bad-argument-type]
ERROR discord/player.py:601:67-103: Argument `() -> tuple[str | None, int | None]` is not assignable to parameter `func` with type `(**tuple[*@_]) -> @_` in function `asyncio.events.AbstractEventLoop.run_in_executor` [bad-argument-type]
ERROR discord/player.py:768:24-75: No matching overload found for function `max` called with arguments: (Literal[0], float) [no-matching-overload]
ERROR discord/poll.py:480:28-50: `int` is not assignable to TypedDict key `layout_type` with type `Literal[1]` [bad-typed-dict-key]
ERROR discord/raw_models.py:247:73-102: Type `object` is not iterable [not-iterable]
ERROR discord/raw_models.py:412:21-38: `int` is not assignable to TypedDict key `type` with type `Literal[0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 15, 16]` [bad-typed-dict-key]
ERROR discord/reaction.py:266:22-62: Argument `int | None` is not assignable to parameter `type` with type `Literal[0, 1] | None` in function `discord.http.HTTPClient.get_reaction_users` [bad-argument-type]
ERROR discord/scheduled_event.py:480:40-59: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/scheduled_event.py:486:33-45: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/scheduled_event.py:490:32-44: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/scheduled_event.py:492:23-95: `EntityType | Any | None` is not assignable to variable `entity_type` with type `EntityType` [bad-assignment]
ERROR discord/scheduled_event.py:505:38-55: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/scheduled_event.py:520:41-51: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/scheduled_event.py:524:42-46: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/scheduled_event.py:528:37-41: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/scheduled_event.py:547:49-57: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/scheduled_event.py:550:42-50: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/shard.py:372:9-20: Class member `AutoShardedClient._connection` overrides parent class `Client` in an inconsistent manner [bad-override]
ERROR discord/shard.py:399:9-19: Class member `AutoShardedClient._get_state` overrides parent class `Client` in an inconsistent manner [bad-override]
ERROR discord/shard.py:498:18-29: Class member `AutoShardedClient.shard_count` overrides parent class `Client` in an inconsistent manner [bad-override]
ERROR discord/soundboard.py:82:14-20: Class member `BaseSoundboardSound._state` overrides parent class `AssetMixin` in an inconsistent manner [bad-override]
ERROR discord/soundboard.py:98:9-12: Class member `BaseSoundboardSound.url` overrides parent class `AssetMixin` in an inconsistent manner [bad-override]
ERROR discord/soundboard.py:208:9-16: Class member `SoundboardSound._update` overrides parent class `BaseSoundboardSound` in an inconsistent manner [bad-override]
ERROR discord/stage_instance.py:168:40-59: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/state.py:265:40-90: `Any | None` is not assignable to attribute `raw_presence_flag` with type `bool` [bad-assignment]
ERROR discord/state.py:551:16-98: Returned type `tuple[CategoryChannel | DMChannel | ForumChannel | Guild | PartialMessageable | StageChannel | TextChannel | Thread | VoiceChannel, Guild | None]` is not assignable to declared return type `tuple[CategoryChannel | ForumChannel | PartialMessageable | PrivateChannel | StageChannel | TextChannel | Thread | VoiceChannel, Guild | None]` [bad-return]
ERROR discord/state.py:832:81-89: Argument `dict[@_, @_] | TypedDict[ResolvedData]` is not assignable to parameter `resolved` with type `TypedDict[ResolvedData]` in function `discord.ui.view.ViewStore.dispatch_modal` [bad-argument-type]
ERROR discord/sticker.py:200:14-20: Class member `StickerItem._state` overrides parent class `_StickerTag` in an inconsistent manner [bad-override]
ERROR discord/sticker.py:271:14-20: Class member `Sticker._state` overrides parent class `_StickerTag` in an inconsistent manner [bad-override]
ERROR discord/sticker.py:335:9-19: Class member `StandardSticker._from_data` overrides parent class `Sticker` in an inconsistent manner [bad-override]
ERROR discord/sticker.py:415:9-19: Class member `GuildSticker._from_data` overrides parent class `Sticker` in an inconsistent manner [bad-override]
ERROR discord/template.py:286:38-49: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/threads.py:649:35-43: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/threads.py:651:48-69: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/threads.py:653:33-39: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/threads.py:655:36-45: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/threads.py:657:46-60: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/threads.py:661:32-43: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/threads.py:663:39-76: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/types/components.py:47:5-9: Class member `ActionRow.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:52:5-9: Class member `ButtonComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:84:5-9: Class member `StringSelectComponent.type` overrides parent class `SelectComponent` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:89:5-9: Class member `UserSelectComponent.type` overrides parent class `SelectComponent` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:94:5-9: Class member `RoleSelectComponent.type` overrides parent class `SelectComponent` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:99:5-9: Class member `MentionableSelectComponent.type` overrides parent class `SelectComponent` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:104:5-9: Class member `ChannelSelectComponent.type` overrides parent class `SelectComponent` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:110:5-9: Class member `TextInput.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:122:5-9: Class member `SelectMenu.type` overrides parent class `SelectComponent` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:130:5-9: Class member `SectionComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:136:5-9: Class member `TextComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:153:5-9: Class member `ThumbnailComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:166:5-9: Class member `MediaGalleryComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:171:5-9: Class member `FileComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:179:5-9: Class member `SeparatorComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:185:5-9: Class member `ContainerComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:192:5-9: Class member `LabelComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/components.py:199:5-9: Class member `FileUploadComponent.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/interactions.py:209:5-9: Class member `ModalSubmitTextInputInteractionData.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/interactions.py:215:5-9: Class member `ModalSubmitSelectInteractionData.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/interactions.py:221:5-9: Class member `ModalSubmitFileUploadInteractionData.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/interactions.py:237:5-9: Class member `ModalSubmitTextDisplayInteractionData.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/types/interactions.py:242:5-9: Class member `ModalSubmitLabelInteractionData.type` overrides parent class `ComponentBase` in an inconsistent manner [bad-override]
ERROR discord/ui/action_row.py:122:45-78: `ClassVar` arguments may not contain any type variables [invalid-annotation]
ERROR discord/ui/action_row.py:140:14-16: Class member `ActionRow.id` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/action_row.py:140:19-21: `int | None` is not assignable to attribute `id` with type `(self: Self@ActionRow, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/action_row.py:154:9-42: Generic attribute `__action_row_children_items__` of class `ActionRow` is not visible on the class [no-access]
ERROR discord/ui/action_row.py:163:26-56: Object of class `FunctionType` has no attribute `__discord_ui_model_type__` [missing-attribute]
ERROR discord/ui/action_row.py:163:59-91: Object of class `FunctionType` has no attribute `__discord_ui_model_kwargs__` [missing-attribute]
ERROR discord/ui/action_row.py:347:26-33: Cannot set item in `dict[str, int | list[Unknown]]` [unsupported-operation]
ERROR discord/ui/action_row.py:415:30-41: Default `type[Select[Any]]` is not assignable to parameter `cls` with type `type[SelectT]` [bad-function-definition]
ERROR discord/ui/action_row.py:430:34-49: Default `type[UserSelect[Any]]` is not assignable to parameter `cls` with type `type[UserSelectT]` [bad-function-definition]
ERROR discord/ui/action_row.py:446:34-49: Default `type[RoleSelect[Any]]` is not assignable to parameter `cls` with type `type[RoleSelectT]` [bad-function-definition]
ERROR discord/ui/action_row.py:462:37-55: Default `type[ChannelSelect[Any]]` is not assignable to parameter `cls` with type `type[ChannelSelectT]` [bad-function-definition]
ERROR discord/ui/action_row.py:478:41-63: Default `type[MentionableSelect[Any]]` is not assignable to parameter `cls` with type `type[MentionableSelectT]` [bad-function-definition]
ERROR discord/ui/action_row.py:493:34-45: Default `type[Select[Any]]` is not assignable to parameter `cls` with type `type[BaseSelectT]` [bad-function-definition]
ERROR discord/ui/action_row.py:597:9-23: Class member `ActionRow.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/button.py:162:14-17: Class member `Button.row` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/button.py:162:20-23: `int | None` is not assignable to attribute `row` with type `(self: Self@Button, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/button.py:259:9-23: Class member `Button.from_component` overrides parent class `Item` in an inconsistent manner [bad-param-name-override]
ERROR discord/ui/button.py:276:9-26: Class member `Button.to_component_dict` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/button.py:287:9-27: Class member `Button._refresh_component` overrides parent class `Item` in an inconsistent manner [bad-param-name-override]
ERROR discord/ui/button.py:376:9-39: Object of class `FunctionType` has no attribute `__discord_ui_model_type__` [missing-attribute]
ERROR discord/ui/button.py:377:9-41: Object of class `FunctionType` has no attribute `__discord_ui_model_kwargs__` [missing-attribute]
ERROR discord/ui/container.py:109:44-100: `ClassVar` arguments may not contain any type variables [invalid-annotation]
ERROR discord/ui/container.py:132:14-16: Class member `Container.id` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/container.py:132:19-21: `int | None` is not assignable to attribute `id` with type `(self: Self@Container, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/container.py:151:30-59: Object of class `FunctionType` has no attribute `__discord_ui_model_type__` [missing-attribute]
ERROR discord/ui/container.py:151:62-93: Object of class `FunctionType` has no attribute `__discord_ui_model_kwargs__` [missing-attribute]
ERROR discord/ui/container.py:160:17-54: Object of class `NoneType` has no attribute `_children` [missing-attribute]
ERROR discord/ui/container.py:177:9-41: Generic attribute `__container_children_items__` of class `Container` is not visible on the class [no-access]
ERROR discord/ui/container.py:179:9-21: Class member `Container._update_view` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/container.py:256:26-33: Cannot set item in `dict[str, bool | int | list[dict[str, Any]] | None]` [unsupported-operation]
ERROR discord/ui/container.py:260:9-23: Class member `Container.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/file.py:162:9-23: Class member `File.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/file_upload.py:172:9-26: Class member `FileUpload.to_component_dict` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/file_upload.py:175:9-27: Class member `FileUpload._refresh_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/file_upload.py:178:9-23: Class member `FileUpload._handle_submit` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/file_upload.py:181:59-89: `in` is not supported between `str` and `object` [not-iterable]
ERROR discord/ui/file_upload.py:184:9-23: Class member `FileUpload.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/label.py:100:14-16: Class member `Label.id` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/label.py:100:19-21: `int | None` is not assignable to attribute `id` with type `(self: Self@Label, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/label.py:112:9-26: Class member `Label.to_component_dict` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/label.py:114:21-46: `int` is not assignable to TypedDict key `type` with type `Literal[18]` [bad-typed-dict-key]
ERROR discord/ui/label.py:121:29-36: `(self: Self@Label, value: int | None) -> None` is not assignable to TypedDict key `id` with type `int` [bad-typed-dict-key]
ERROR discord/ui/label.py:125:9-23: Class member `Label.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/media_gallery.py:259:9-23: Class member `MediaGallery.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/modal.py:159:15-23: Class member `Modal.on_error` overrides parent class `BaseView` in an inconsistent manner [bad-override]
ERROR discord/ui/modal.py:176:9-17: Class member `Modal._refresh` overrides parent class `BaseView` in an inconsistent manner [bad-param-name-override]
ERROR discord/ui/modal.py:202:15-30: Class member `Modal._scheduled_task` overrides parent class `BaseView` in an inconsistent manner [bad-param-name-override]
ERROR discord/ui/section.py:87:14-16: Class member `Section.id` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/section.py:87:19-21: `int | None` is not assignable to attribute `id` with type `(self: Self@Section, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/section.py:251:9-23: Class member `Section.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/section.py:256:19-31: `int | None` is not assignable to attribute `id` with type `(self: Section[Unknown], value: int | None) -> None` [bad-assignment]
ERROR discord/ui/section.py:275:26-33: Cannot set item in `dict[str, dict[str, Any] | int | list[dict[str, Any]]]` [unsupported-operation]
ERROR discord/ui/select.py:270:14-17: Class member `BaseSelect.row` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:270:20-23: `int | None` is not assignable to attribute `row` with type `(self: Self@BaseSelect, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/select.py:363:9-26: Class member `BaseSelect.to_component_dict` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:366:9-27: Class member `BaseSelect._refresh_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:369:9-23: Class member `BaseSelect._handle_submit` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:382:9-23: Class member `BaseSelect._refresh_state` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:405:9-23: Class member `BaseSelect.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:493:9-15: Class member `Select.values` overrides parent class `BaseSelect` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:669:9-15: Class member `UserSelect.values` overrides parent class `BaseSelect` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:777:9-15: Class member `RoleSelect.values` overrides parent class `BaseSelect` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:881:9-15: Class member `MentionableSelect.values` overrides parent class `BaseSelect` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:1010:9-15: Class member `ChannelSelect.values` overrides parent class `BaseSelect` in an inconsistent manner [bad-override]
ERROR discord/ui/select.py:1030:26-37: Default `type[Select[Any]]` is not assignable to parameter `cls` with type `type[SelectT]` [bad-function-definition]
ERROR discord/ui/select.py:1046:30-45: Default `type[UserSelect[Any]]` is not assignable to parameter `cls` with type `type[UserSelectT]` [bad-function-definition]
ERROR discord/ui/select.py:1063:30-45: Default `type[RoleSelect[Any]]` is not assignable to parameter `cls` with type `type[RoleSelectT]` [bad-function-definition]
ERROR discord/ui/select.py:1080:33-51: Default `type[ChannelSelect[Any]]` is not assignable to parameter `cls` with type `type[ChannelSelectT]` [bad-function-definition]
ERROR discord/ui/select.py:1097:37-59: Default `type[MentionableSelect[Any]]` is not assignable to parameter `cls` with type `type[MentionableSelectT]` [bad-function-definition]
ERROR discord/ui/select.py:1113:30-41: Default `type[Select[Any]]` is not assignable to parameter `cls` with type `type[BaseSelectT]` [bad-function-definition]
ERROR discord/ui/select.py:1221:9-39: Object of class `FunctionType` has no attribute `__discord_ui_model_type__` [missing-attribute]
ERROR discord/ui/select.py:1222:9-41: Object of class `FunctionType` has no attribute `__discord_ui_model_kwargs__` [missing-attribute]
ERROR discord/ui/select.py:1232:13-45: Object of class `FunctionType` has no attribute `__discord_ui_model_kwargs__` [missing-attribute]
ERROR discord/ui/select.py:1234:13-45: Object of class `FunctionType` has no attribute `__discord_ui_model_kwargs__` [missing-attribute]
ERROR discord/ui/select.py:1250:13-45: Object of class `FunctionType` has no attribute `__discord_ui_model_kwargs__` [missing-attribute]
ERROR discord/ui/separator.py:129:9-23: Class member `Separator.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/text_display.py:64:14-16: Class member `TextDisplay.id` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/text_display.py:64:19-21: `int | None` is not assignable to attribute `id` with type `(self: Self@TextDisplay, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/text_display.py:72:26-33: Cannot set item in `dict[str, int | str]` [unsupported-operation]
ERROR discord/ui/text_display.py:87:9-23: Class member `TextDisplay.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/text_input.py:148:14-17: Class member `TextInput.row` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/text_input.py:148:20-23: `int | None` is not assignable to attribute `row` with type `(self: Self@TextInput, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/text_input.py:249:9-26: Class member `TextInput.to_component_dict` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/text_input.py:252:9-27: Class member `TextInput._refresh_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/text_input.py:255:9-23: Class member `TextInput._refresh_state` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/text_input.py:259:9-23: Class member `TextInput.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/thumbnail.py:97:14-16: Class member `Thumbnail.id` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/thumbnail.py:97:19-21: `int | None` is not assignable to attribute `id` with type `(self: Self@Thumbnail, value: int | None) -> None` [bad-assignment]
ERROR discord/ui/thumbnail.py:138:9-23: Class member `Thumbnail.from_component` overrides parent class `Item` in an inconsistent manner [bad-override]
ERROR discord/ui/view.py:246:30-59: Object of class `FunctionType` has no attribute `__discord_ui_model_type__` [missing-attribute]
ERROR discord/ui/view.py:246:62-93: Object of class `FunctionType` has no attribute `__discord_ui_model_kwargs__` [missing-attribute]
ERROR discord/ui/view.py:254:21-58: Object of class `NoneType` has no attribute `_children` [missing-attribute]
ERROR discord/user.py:132:24-48: `object | None` is not assignable to attribute `_banner` with type `str | None` [bad-assignment]
ERROR discord/user.py:133:31-61: `object | None` is not assignable to attribute `_accent_colour` with type `int | None` [bad-assignment]
ERROR discord/user.py:134:30-57: `int | object` is not assignable to attribute `_public_flags` with type `int` [bad-assignment]
ERROR discord/user.py:135:20-42: `bool | object` is not assignable to attribute `bot` with type `bool` [bad-assignment]
ERROR discord/user.py:136:23-48: `bool | object` is not assignable to attribute `system` with type `bool` [bad-assignment]
ERROR discord/user.py:428:9-16: Class member `ClientUser._update` overrides parent class `BaseUser` in an inconsistent manner [bad-override]
ERROR discord/utils.py:252:9-20: Class member `SequenceProxy.__getitem__` overrides parent class `Sequence` in an inconsistent manner [bad-param-name-override]
ERROR discord/utils.py:263:9-21: Class member `SequenceProxy.__contains__` overrides parent class `Sequence` in an inconsistent manner [bad-param-name-override]
ERROR discord/utils.py:1193:34-48: Expected a type form, got instance of `tuple[Any, ...]` [not-a-type]
ERROR discord/utils.py:1453:37-68: Object of class `ZstdDecompressor` has no attribute `decompressobj` [missing-attribute]
ERROR discord/voice_client.py:216:5-12: Class member `VoiceClient.channel` overrides parent class `VoiceProtocol` in an inconsistent manner [bad-override]
ERROR discord/webhook/async_.py:194:37-57: Object of class `reify` has no attribute `get` [missing-attribute]
ERROR discord/webhook/async_.py:208:36-56: Object of class `reify` has no attribute `get` [missing-attribute]
ERROR discord/webhook/async_.py:578:9-23: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:582:13-27: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:584:13-27: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:588:13-28: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:590:13-28: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:594:13-31: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:603:13-31: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:606:9-22: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:610:13-37: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:612:13-37: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:614:9-33: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:631:9-28: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:634:9-21: Cannot set item in `None` [unsupported-operation]
ERROR discord/webhook/async_.py:643:17-648:18: Argument `dict[str, BufferedIOBase | str]` is not assignable to parameter `object` with type `dict[str, str]` in function `list.append` [bad-argument-type]
ERROR discord/webhook/async_.py:803:5-11: Class member `WebhookMessage._state` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/webhook/async_.py:805:15-19: Class member `WebhookMessage.edit` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/webhook/async_.py:1013:57-71: Argument `object` is not assignable to parameter `data` with type `TypedDict[PartialChannel]` in function `PartialWebhookChannel.__init__` [bad-argument-type]
ERROR discord/webhook/async_.py:1015:64-78: `PartialWebhookChannel | object | None` is not assignable to attribute `source_channel` with type `PartialWebhookChannel | None` [bad-assignment]
ERROR discord/webhook/async_.py:1019:53-65: Argument `object` is not assignable to parameter `data` with type `TypedDict[SourceGuild]` in function `PartialWebhookGuild.__init__` [bad-argument-type]
ERROR discord/webhook/async_.py:1021:60-72: `PartialWebhookGuild | object | None` is not assignable to attribute `source_guild` with type `PartialWebhookGuild | None` [bad-assignment]
ERROR discord/webhook/async_.py:1042:16-69: Returned type `ConnectionState[Client] | Guild | _WebhookState | None` is not assignable to declared return type `Guild | None` [bad-return]
ERROR discord/webhook/async_.py:1528:31-70: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/webhook/async_.py:1531:33-100: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/webhook/async_.py:1541:37-47: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/webhook/sync.py:408:5-11: Class member `SyncWebhookMessage._state` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/webhook/sync.py:410:9-13: Class member `SyncWebhookMessage.edit` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/webhook/sync.py:474:9-18: Class member `SyncWebhookMessage.add_files` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/webhook/sync.py:498:9-27: Class member `SyncWebhookMessage.remove_attachments` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/webhook/sync.py:522:9-15: Class member `SyncWebhookMessage.delete` overrides parent class `Message` in an inconsistent manner [bad-override]
ERROR discord/webhook/sync.py:827:31-70: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/webhook/sync.py:830:33-100: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/webhook/sync.py:840:37-47: Cannot set item in `dict[str, str]` [unsupported-operation]
ERROR discord/welcome_screen.py:104:33-48: Object of class `_EmojiTag` has no attribute `name` [missing-attribute]
ERROR discord/welcome_screen.py:211:37-48: Cannot set item in `dict[str, list[Unknown]]` [unsupported-operation]
ERROR discord/welcome_screen.py:214:33-40: Cannot set item in `dict[str, list[Unknown]]` [unsupported-operation]
INFO Checking project configured at `<CWD>/pyrefly.toml`
INFO 652 errors (521 suppressed)

View File

@@ -0,0 +1,653 @@
<CWD>/discord/abc.py
<CWD>/discord/abc.py:122:9 - error: "pinned_at" incorrectly overrides property of same name in class "Message" (reportIncompatibleMethodOverride)
<CWD>/discord/abc.py:123:9 - error: "pinned" overrides symbol of same name in class "Message"
  Variable is mutable so its type is invariant
    Override type "Literal[True]" is not the same as base type "bool" (reportIncompatibleVariableOverride)
<CWD>/discord/activity.py
<CWD>/discord/activity.py:286:9 - error: Method "to_dict" overrides class "BaseActivity" in an incompatible manner
  Return type mismatch: base method returns type "Activity", override returns type "Dict[str, Any]"
    "Dict[str, Any]" is not assignable to "Activity" (reportIncompatibleMethodOverride)
<CWD>/discord/activity.py:455:9 - error: Method "to_dict" overrides class "BaseActivity" in an incompatible manner
  Return type mismatch: base method returns type "Activity", override returns type "Dict[str, Any]"
    "Dict[str, Any]" is not assignable to "Activity" (reportIncompatibleMethodOverride)
<CWD>/discord/activity.py:566:9 - error: Method "to_dict" overrides class "BaseActivity" in an incompatible manner
  Return type mismatch: base method returns type "Activity", override returns type "Dict[str, Any]"
    "Dict[str, Any]" is not assignable to "Activity" (reportIncompatibleMethodOverride)
<CWD>/discord/activity.py:822:9 - error: Method "to_dict" overrides class "BaseActivity" in an incompatible manner
  Return type mismatch: base method returns type "Activity", override returns type "Dict[str, Any]"
    "Dict[str, Any]" is not assignable to "Activity" (reportIncompatibleMethodOverride)
<CWD>/discord/app_commands/commands.py
<CWD>/discord/app_commands/commands.py:235:18 - error: Cannot assign to attribute "pass_command_binding" for class "FunctionType"
  Attribute "pass_command_binding" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:393:34 - error: Cannot access attribute "__discord_app_commands_param_description__" for class "FunctionType"
  Attribute "__discord_app_commands_param_description__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:402:24 - error: Cannot access attribute "__discord_app_commands_param_rename__" for class "FunctionType"
  Attribute "__discord_app_commands_param_rename__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:409:24 - error: Cannot access attribute "__discord_app_commands_param_choices__" for class "FunctionType"
  Attribute "__discord_app_commands_param_choices__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:416:29 - error: Cannot access attribute "__discord_app_commands_param_autocomplete__" for class "FunctionType"
  Attribute "__discord_app_commands_param_autocomplete__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:456:10 - error: Cannot assign to attribute "__discord_app_commands_base_function__" for class "FunctionType"
  Attribute "__discord_app_commands_base_function__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:683:37 - error: Cannot access attribute "__self__" for class "FunctionType"
  Attribute "__self__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:684:50 - error: Cannot access attribute "__func__" for class "FunctionType"
  Attribute "__func__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:2477:22 - error: Cannot assign to attribute "__discord_app_commands_checks__" for class "FunctionType"
  Attribute "__discord_app_commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/commands.py:2479:18 - error: Cannot access attribute "__discord_app_commands_checks__" for class "FunctionType"
  Attribute "__discord_app_commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/app_commands/errors.py
<CWD>/discord/app_commands/errors.py:483:27 - error: "errors" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/app_commands/tree.py
<CWD>/discord/app_commands/tree.py:605:9 - error: Overload 1 for "get_commands" overlaps overload 4 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/asset.py
<CWD>/discord/asset.py:385:9 - error: "url" overrides symbol of same name in class "AssetMixin"
  "property" is not assignable to "str" (reportIncompatibleVariableOverride)
<CWD>/discord/channel.py
<CWD>/discord/channel.py:374:9 - error: Method "_update" overrides class "GuildChannel" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "Dict[str, Any]", override parameter is type "TextChannel | NewsChannel"
    Type "Dict[str, Any]" is not assignable to type "TextChannel | NewsChannel"
      "Dict[str, Any]" is not assignable to "TextChannel"
      "Dict[str, Any]" is not assignable to "NewsChannel" (reportIncompatibleMethodOverride)
<CWD>/discord/channel.py:393:9 - error: "type" overrides symbol of same name in class "GuildChannel"
  "property" is not assignable to "ChannelType" (reportIncompatibleVariableOverride)
<CWD>/discord/channel.py:1098:15 - error: Method "_get_channel" overrides class "Messageable" in an incompatible manner
  Return type mismatch: base method returns type "CoroutineType[Any, Any, MessageableChannel]", override returns type "CoroutineType[Any, Any, VocalGuildChannel]"
    "CoroutineType[Any, Any, VocalGuildChannel]" is not assignable to "CoroutineType[Any, Any, MessageableChannel]"
      Type parameter "_ReturnT_nd_co@CoroutineType" is covariant, but "VocalGuildChannel" is not a subtype of "MessageableChannel"
        Type "VocalGuildChannel" is not assignable to type "MessageableChannel"
          "VocalGuildChannel" is not assignable to "TextChannel"
          "VocalGuildChannel" is not assignable to "VoiceChannel"
          "VocalGuildChannel" is not assignable to "StageChannel"
          "VocalGuildChannel" is not assignable to "Thread"
... (reportIncompatibleMethodOverride)
<CWD>/discord/channel.py:1107:9 - error: Method "_update" overrides class "GuildChannel" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "Dict[str, Any]", override parameter is type "VoiceChannel | StageChannel"
    Type "Dict[str, Any]" is not assignable to type "VoiceChannel | StageChannel"
      "Dict[str, Any]" is not assignable to "VoiceChannel"
      "Dict[str, Any]" is not assignable to "StageChannel" (reportIncompatibleMethodOverride)
<CWD>/discord/channel.py:1546:9 - error: "type" overrides symbol of same name in class "GuildChannel"
  "property" is not assignable to "ChannelType" (reportIncompatibleVariableOverride)
<CWD>/discord/channel.py:1770:9 - error: Method "_update" overrides class "VocalGuildChannel" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "VoiceChannel | StageChannel", override parameter is type "StageChannel"
    Type "VoiceChannel | StageChannel" is not assignable to type "StageChannel"
      "type" is an incompatible type
        "Literal[2]" is not assignable to type "Literal[13]" (reportIncompatibleMethodOverride)
<CWD>/discord/channel.py:1813:9 - error: "type" overrides symbol of same name in class "GuildChannel"
  "property" is not assignable to "ChannelType" (reportIncompatibleVariableOverride)
<CWD>/discord/channel.py:2065:9 - error: Method "_update" overrides class "GuildChannel" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "Dict[str, Any]", override parameter is type "CategoryChannel"
    "Dict[str, Any]" is not assignable to "CategoryChannel" (reportIncompatibleMethodOverride)
<CWD>/discord/channel.py:2082:9 - error: "type" overrides symbol of same name in class "GuildChannel"
  "property" is not assignable to "ChannelType" (reportIncompatibleVariableOverride)
<CWD>/discord/channel.py:2478:9 - error: Method "_update" overrides class "GuildChannel" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "Dict[str, Any]", override parameter is type "ForumChannel | MediaChannel"
    Type "Dict[str, Any]" is not assignable to type "ForumChannel | MediaChannel"
      "Dict[str, Any]" is not assignable to "ForumChannel"
      "Dict[str, Any]" is not assignable to "MediaChannel" (reportIncompatibleMethodOverride)
<CWD>/discord/channel.py:2512:9 - error: "type" overrides symbol of same name in class "GuildChannel"
  "property" is not assignable to "ChannelType" (reportIncompatibleVariableOverride)
<CWD>/discord/channel.py:2619:15 - error: Method "clone" overrides class "GuildChannel" in an incompatible manner
  Keyword parameter "category" mismatch: base parameter has default argument value, override parameter does not (reportIncompatibleMethodOverride)
<CWD>/discord/components.py
<CWD>/discord/components.py:382:14 - error: "type" incorrectly overrides property of same name in class "Component" (reportIncompatibleMethodOverride)
<CWD>/discord/embeds.py
<CWD>/discord/embeds.py:308:9 - error: Method "__eq__" overrides class "object" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "object", override parameter is type "Embed"
    "object" is not assignable to "Embed" (reportIncompatibleMethodOverride)
<CWD>/discord/emoji.py
<CWD>/discord/emoji.py:166:9 - error: "url" overrides symbol of same name in class "AssetMixin"
  "property" is not assignable to "str" (reportIncompatibleVariableOverride)
<CWD>/discord/enums.py
<CWD>/discord/enums.py:113:9 - error: Class variable "__name__" overrides instance variable of same name in class "type" (reportIncompatibleVariableOverride)
<CWD>/discord/enums.py:960:5 - error: "name" incorrectly overrides property of same name in class "Enum" (reportIncompatibleMethodOverride)
<CWD>/discord/errors.py
<CWD>/discord/errors.py:30:10 - warning: Import "requests" could not be resolved from source (reportMissingModuleSource)
<CWD>/discord/ext/commands/cog.py
<CWD>/discord/ext/commands/cog.py:268:10 - error: Cannot assign to attribute "__cog_special_method__" for class "FunctionType"
  Attribute "__cog_special_method__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/cog.py:497:31 - error: Cannot access attribute "__func__" for class "FunctionType"
  Attribute "__func__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/cog.py:527:20 - error: Cannot assign to attribute "__cog_listener__" for class "FunctionType"
  Attribute "__cog_listener__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/cog.py:530:24 - error: Cannot access attribute "__cog_listener_names__" for class "FunctionType"
  Attribute "__cog_listener_names__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/cog.py:532:24 - error: Cannot assign to attribute "__cog_listener_names__" for class "FunctionType"
  Attribute "__cog_listener_names__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/context.py
<CWD>/discord/ext/commands/context.py:411:15 - error: Method "_get_channel" overrides class "Messageable" in an incompatible manner
  Return type mismatch: base method returns type "CoroutineType[Any, Any, MessageableChannel]", override returns type "CoroutineType[Any, Any, Messageable]"
    "CoroutineType[Any, Any, Messageable]" is not assignable to "CoroutineType[Any, Any, MessageableChannel]"
      Type parameter "_ReturnT_nd_co@CoroutineType" is covariant, but "Messageable" is not a subtype of "MessageableChannel"
        Type "Messageable" is not assignable to type "MessageableChannel"
          "Messageable" is not assignable to "TextChannel"
          "Messageable" is not assignable to "VoiceChannel"
          "Messageable" is not assignable to "StageChannel"
          "Messageable" is not assignable to "Thread"
... (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/context.py:783:9 - error: Method "typing" overrides class "Messageable" in an incompatible manner
  Return type mismatch: base method returns type "Typing", override returns type "Typing | DeferTyping[BotT@Context]"
    Type "Typing | DeferTyping[BotT@Context]" is not assignable to type "Typing"
      "DeferTyping[BotT@Context]" is not assignable to "Typing" (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/converter.py
<CWD>/discord/ext/commands/converter.py:1119:9 - error: Method "__class_getitem__" overrides class "list" in an incompatible manner
  Return type mismatch: base method returns type "GenericAlias", override returns type "Greedy[T@Greedy]"
    "Greedy[T@Greedy]" is not assignable to "GenericAlias" (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/cooldowns.py
<CWD>/discord/ext/commands/cooldowns.py:171:9 - error: Method "create_bucket" overrides class "CooldownMapping" in an incompatible manner
  Return type mismatch: base method returns type "Cooldown", override returns type "Cooldown | None"
    Type "Cooldown | None" is not assignable to type "Cooldown"
      "None" is not assignable to "Cooldown" (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/core.py
<CWD>/discord/ext/commands/core.py:141:33 - error: Cannot access attribute "__wrapped__" for class "FunctionType"
  Attribute "__wrapped__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:462:27 - error: Cannot access attribute "__commands_checks__" for class "FunctionType"
  Attribute "__commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:470:29 - error: Cannot access attribute "__commands_cooldown__" for class "FunctionType"
  Attribute "__commands_cooldown__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:483:36 - error: Cannot access attribute "__commands_max_concurrency__" for class "FunctionType"
  Attribute "__commands_max_concurrency__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:500:34 - error: Cannot access attribute "__before_invoke__" for class "FunctionType"
  Attribute "__before_invoke__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:508:33 - error: Cannot access attribute "__after_invoke__" for class "FunctionType"
  Attribute "__after_invoke__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:1753:5 - error: Overload 1 for "command" overlaps overload 2 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ext/commands/core.py:1821:5 - error: Overload 1 for "group" overlaps overload 2 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ext/commands/core.py:1942:22 - error: Cannot assign to attribute "__commands_checks__" for class "FunctionType"
  Attribute "__commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:1944:18 - error: Cannot access attribute "__commands_checks__" for class "FunctionType"
  Attribute "__commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:1949:19 - error: Cannot assign to attribute "predicate" for class "FunctionType"
  Attribute "predicate" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:1956:19 - error: Cannot assign to attribute "predicate" for class "FunctionType"
  Attribute "predicate" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2365:22 - error: Cannot assign to attribute "__commands_checks__" for class "FunctionType"
  Attribute "__commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2367:18 - error: Cannot access attribute "__commands_checks__" for class "FunctionType"
  Attribute "__commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2368:18 - error: Cannot assign to attribute "__discord_app_commands_guild_only__" for class "FunctionType"
  Attribute "__discord_app_commands_guild_only__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2373:19 - error: Cannot assign to attribute "predicate" for class "FunctionType"
  Attribute "predicate" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2380:19 - error: Cannot assign to attribute "predicate" for class "FunctionType"
  Attribute "predicate" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2440:22 - error: Cannot assign to attribute "__commands_checks__" for class "FunctionType"
  Attribute "__commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2442:18 - error: Cannot access attribute "__commands_checks__" for class "FunctionType"
  Attribute "__commands_checks__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2443:18 - error: Cannot assign to attribute "__discord_app_commands_is_nsfw__" for class "FunctionType"
  Attribute "__discord_app_commands_is_nsfw__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2448:19 - error: Cannot assign to attribute "predicate" for class "FunctionType"
  Attribute "predicate" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2455:19 - error: Cannot assign to attribute "predicate" for class "FunctionType"
  Attribute "predicate" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2499:18 - error: Cannot assign to attribute "__commands_cooldown__" for class "FunctionType"
  Attribute "__commands_cooldown__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2547:18 - error: Cannot assign to attribute "__commands_cooldown__" for class "FunctionType"
  Attribute "__commands_cooldown__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2582:18 - error: Cannot assign to attribute "__commands_max_concurrency__" for class "FunctionType"
  Attribute "__commands_max_concurrency__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2634:18 - error: Cannot assign to attribute "__before_invoke__" for class "FunctionType"
  Attribute "__before_invoke__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/core.py:2657:18 - error: Cannot assign to attribute "__after_invoke__" for class "FunctionType"
  Attribute "__after_invoke__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/help.py
<CWD>/discord/ext/commands/help.py:248:7 - error: Cannot assign to attribute "__help_command_not_overridden__" for class "FunctionType"
  Attribute "__help_command_not_overridden__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/help.py:1255:9 - error: Method "get_destination" overrides class "HelpCommand" in an incompatible manner
  Return type mismatch: base method returns type "MessageableChannel", override returns type "Messageable"
    Type "Messageable" is not assignable to type "MessageableChannel"
      "Messageable" is not assignable to "TextChannel"
      "Messageable" is not assignable to "VoiceChannel"
      "Messageable" is not assignable to "StageChannel"
      "Messageable" is not assignable to "Thread"
      "Messageable" is not assignable to "DMChannel"
      "Messageable" is not assignable to "PartialMessageable"
... (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/help.py:1520:9 - error: Method "get_destination" overrides class "HelpCommand" in an incompatible manner
  Return type mismatch: base method returns type "MessageableChannel", override returns type "Messageable"
    Type "Messageable" is not assignable to type "MessageableChannel"
      "Messageable" is not assignable to "TextChannel"
      "Messageable" is not assignable to "VoiceChannel"
      "Messageable" is not assignable to "StageChannel"
      "Messageable" is not assignable to "Thread"
      "Messageable" is not assignable to "DMChannel"
      "Messageable" is not assignable to "PartialMessageable"
... (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/hybrid.py
<CWD>/discord/ext/commands/hybrid.py:61:9 - error: "description" overrides symbol of same name in class "_CommandDecoratorKwargs"
  Variable is mutable so its type is invariant
    Override type "str | locale_str" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/discord/ext/commands/hybrid.py:69:9 - error: "description" overrides symbol of same name in class "_HybridCommandDecoratorKwargs"
  Variable is mutable so its type is invariant
    Override type "str" is not the same as base type "str | locale_str" (reportIncompatibleVariableOverride)
<CWD>/discord/ext/commands/hybrid.py:73:9 - error: "description" overrides symbol of same name in class "_HybridGroupKwargs"
  Variable is mutable so its type is invariant
    Override type "str | locale_str" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/discord/ext/commands/hybrid.py:113:9 - error: "__class__" incorrectly overrides property of same name in class "object"
  Property method "fset" is missing in override (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/hybrid.py:232:22 - error: Cannot assign to attribute "__hybrid_command_flag__" for class "FunctionType"
  Attribute "__hybrid_command_flag__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/hybrid.py:328:26 - error: Cannot assign to attribute "__signature__" for class "FunctionType"
  Attribute "__signature__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/hybrid.py:338:34 - error: Cannot delete attribute "__signature__" for class "FunctionType"
  Attribute "__signature__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ext/commands/hybrid.py:563:9 - error: Method "_ensure_assignment_on_copy" overrides class "Command" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Command[CogT@HybridCommand, P@HybridCommand, T@HybridCommand]", override parameter is type "HybridCommand[CogT@HybridCommand, P@HybridCommand, T@HybridCommand]"
    "Command[CogT@HybridCommand, P@HybridCommand, T@HybridCommand]" is not assignable to "HybridCommand[CogT@HybridCommand, P@HybridCommand, T@HybridCommand]" (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/hybrid.py:731:9 - error: Method "_ensure_assignment_on_copy" overrides class "Command" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Command[CogT@HybridGroup, P@HybridGroup, T@HybridGroup]", override parameter is type "HybridGroup[CogT@HybridGroup, P@HybridGroup, T@HybridGroup]"
    "Command[CogT@HybridGroup, P@HybridGroup, T@HybridGroup]" is not assignable to "HybridGroup[CogT@HybridGroup, P@HybridGroup, T@HybridGroup]" (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/hybrid.py:790:9 - error: Method "add_command" overrides class "GroupMixin" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Command[CogT@HybridGroup, ..., Any]", override parameter is type "HybridGroup[CogT@HybridGroup, ..., Any] | HybridCommand[CogT@HybridGroup, ..., Any]"
    Type "Command[CogT@HybridGroup, ..., Any]" is not assignable to type "HybridGroup[CogT@HybridGroup, ..., Any] | HybridCommand[CogT@HybridGroup, ..., Any]"
      "Command[CogT@HybridGroup, ..., Any]" is not assignable to "HybridCommand[CogT@HybridGroup, ..., Any]"
      "Command[CogT@HybridGroup, ..., Any]" is not assignable to "HybridGroup[CogT@HybridGroup, ..., Any]" (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/hybrid.py:836:9 - error: Method "command" overrides class "GroupMixin" in an incompatible manner
  Keyword parameter "with_app_command" type mismatch: base parameter is type "*_CommandDecoratorKwargs", override parameter is type "bool"
  Keyword parameter "name" type mismatch: base parameter is type "*_CommandDecoratorKwargs", override parameter is type "str"
  Keyword parameter "guild_ids" type mismatch: base parameter is type "*_CommandDecoratorKwargs", override parameter is type "list[int]"
  Keyword parameter "guild_only" type mismatch: base parameter is type "*_CommandDecoratorKwargs", override parameter is type "bool"
  Keyword parameter "default_permissions" type mismatch: base parameter is type "*_CommandDecoratorKwargs", override parameter is type "bool"
  Keyword parameter "nsfw" type mismatch: base parameter is type "*_CommandDecoratorKwargs", override parameter is type "bool"
  Keyword parameter "with_app_command" type mismatch: base parameter is type "*_CommandDecoratorKwargs", override parameter is type "bool"
    "*_CommandDecoratorKwargs" is not assignable to "bool" (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/hybrid.py:860:9 - error: Method "group" overrides class "GroupMixin" in an incompatible manner
  Keyword parameter "invoke_without_command" type mismatch: base parameter is type "bool", override parameter is type "*_HybridGroupDecoratorKwargs"
  Keyword parameter "with_app_command" type mismatch: base parameter is type "*_GroupDecoratorKwargs", override parameter is type "bool"
  Keyword parameter "name" type mismatch: base parameter is type "*_GroupDecoratorKwargs", override parameter is type "str"
  Keyword parameter "guild_ids" type mismatch: base parameter is type "*_GroupDecoratorKwargs", override parameter is type "list[int]"
  Keyword parameter "guild_only" type mismatch: base parameter is type "*_GroupDecoratorKwargs", override parameter is type "bool"
  Keyword parameter "default_permissions" type mismatch: base parameter is type "*_GroupDecoratorKwargs", override parameter is type "bool"
  Keyword parameter "nsfw" type mismatch: base parameter is type "*_GroupDecoratorKwargs", override parameter is type "bool"
  Keyword parameter "with_app_command" type mismatch: base parameter is type "*_GroupDecoratorKwargs", override parameter is type "bool" (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/parameters.py
<CWD>/discord/ext/commands/parameters.py:115:9 - error: Method "replace" overrides class "Parameter" in an incompatible manner
  Keyword parameter "name" type mismatch: base parameter is type "str | type[_void]", override parameter is type "str"
  Keyword parameter "kind" type mismatch: base parameter is type "_ParameterKind | type[_void]", override parameter is type "ParamKinds"
    Type "str | type[_void]" is not assignable to type "str"
      Type "type[_void]" is not assignable to type "str"
    Type "_ParameterKind | type[_void]" is not assignable to type "ParamKinds"
      Type "_ParameterKind" is not assignable to type "ParamKinds"
        "_ParameterKind" is not assignable to type "Literal[_ParameterKind.POSITIONAL_ONLY]"
        "_ParameterKind" is not assignable to type "Literal[_ParameterKind.POSITIONAL_OR_KEYWORD]"
... (reportIncompatibleMethodOverride)
<CWD>/discord/ext/commands/parameters.py:324:5 - error: "parameters" incorrectly overrides property of same name in class "Signature" (reportIncompatibleMethodOverride)
<CWD>/discord/flags.py
<CWD>/discord/flags.py:1784:9 - error: Method "_from_value" overrides class "BaseFlags" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "int", override parameter is type "Sequence[int]"
    "int" is not assignable to "Sequence[int]" (reportIncompatibleMethodOverride)
<CWD>/discord/flags.py:1881:9 - error: Method "to_array" overrides class "ArrayFlags" in an incompatible manner
  Parameter "offset" is missing in override (reportIncompatibleMethodOverride)
<CWD>/discord/gateway.py
<CWD>/discord/gateway.py:218:9 - error: "ws" overrides symbol of same name in class "KeepAliveHandler"
  Variable is mutable so its type is invariant
    Override type "DiscordVoiceWebSocket" is not the same as base type "DiscordWebSocket" (reportIncompatibleVariableOverride)
<CWD>/discord/gateway.py:377:27 - error: "with_query" is not a known attribute of "None" (reportOptionalMemberAccess)
<CWD>/discord/gateway.py:379:27 - error: "with_query" is not a known attribute of "None" (reportOptionalMemberAccess)
<CWD>/discord/gateway.py:391:22 - error: Cannot assign to attribute "gateway" for class "DiscordWebSocket*"
  Type "URL | None" is not assignable to type "URL"
    "None" is not assignable to "URL" (reportAttributeAccessIssue)
<CWD>/discord/integrations.py
<CWD>/discord/integrations.py:200:9 - error: Method "_from_data" overrides class "Integration" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Integration", override parameter is type "StreamIntegration"
    Type "Integration" is not assignable to type "StreamIntegration"
      "role_id" is missing from "BaseIntegration"
      "enable_emoticons" is missing from "BaseIntegration"
      "subscriber_count" is missing from "BaseIntegration"
      "revoked" is missing from "BaseIntegration" (reportIncompatibleMethodOverride)
<CWD>/discord/integrations.py:359:9 - error: Method "_from_data" overrides class "Integration" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Integration", override parameter is type "BotIntegration"
    Type "Integration" is not assignable to type "BotIntegration"
      "application" is missing from "BaseIntegration" (reportIncompatibleMethodOverride)
<CWD>/discord/interactions.py
<CWD>/discord/interactions.py:1427:5 - error: "_state" overrides symbol of same name in class "Message"
  Variable is mutable so its type is invariant
    Override type "_InteractionMessageState" is not the same as base type "ConnectionState[Client]" (reportIncompatibleVariableOverride)
<CWD>/discord/interactions.py:1453:15 - error: Method "edit" overrides class "Message" in an incompatible manner
  No overload signature in override is compatible with base method (reportIncompatibleMethodOverride)
<CWD>/discord/invite.py
<CWD>/discord/invite.py:518:9 - error: "id" overrides symbol of same name in class "EqualityComparable"
  "property" is not assignable to "int" (reportIncompatibleVariableOverride)
<CWD>/discord/partial_emoji.py
<CWD>/discord/partial_emoji.py:105:14 - error: "id" overrides symbol of same name in class "_EmojiTag"
  Variable is mutable so its type is invariant
    Override type "int | None" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/partial_emoji.py:240:9 - error: "url" overrides symbol of same name in class "AssetMixin"
  "property" is not assignable to "str" (reportIncompatibleVariableOverride)
<CWD>/discord/shard.py
<CWD>/discord/shard.py:372:9 - error: "_connection" overrides symbol of same name in class "Client"
  Variable is mutable so its type is invariant
    Override type "AutoShardedConnectionState[Client]" is not the same as base type "ConnectionState[Client]" (reportIncompatibleVariableOverride)
<CWD>/discord/shard.py:499:18 - error: "shard_count" overrides symbol of same name in class "Client"
  Variable is mutable so its type is invariant
    Override type "int" is not the same as base type "int | None" (reportIncompatibleVariableOverride)
<CWD>/discord/soundboard.py
<CWD>/discord/soundboard.py:98:9 - error: "url" overrides symbol of same name in class "AssetMixin"
  "property" is not assignable to "str" (reportIncompatibleVariableOverride)
<CWD>/discord/soundboard.py:208:9 - error: Method "_update" overrides class "BaseSoundboardSound" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "BaseSoundboardSound", override parameter is type "SoundboardSound"
    "name" is missing from "BaseSoundboardSound"
    "emoji_name" is missing from "BaseSoundboardSound"
    "emoji_id" is missing from "BaseSoundboardSound"
    "user_id" is missing from "BaseSoundboardSound"
    "available" is missing from "BaseSoundboardSound"
    "guild_id" is missing from "BaseSoundboardSound"
    "user" is missing from "BaseSoundboardSound" (reportIncompatibleMethodOverride)
<CWD>/discord/sticker.py
<CWD>/discord/sticker.py:335:9 - error: Method "_from_data" overrides class "Sticker" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Sticker", override parameter is type "StandardSticker"
    Type "Sticker" is not assignable to type "StandardSticker"
      "type" is an incompatible type
        "Literal[2]" is not assignable to type "Literal[1]"
      "sort_value" is missing from "GuildSticker"
      "pack_id" is missing from "GuildSticker" (reportIncompatibleMethodOverride)
<CWD>/discord/sticker.py:415:9 - error: Method "_from_data" overrides class "Sticker" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Sticker", override parameter is type "GuildSticker"
    Type "Sticker" is not assignable to type "GuildSticker"
      "type" is an incompatible type
        "Literal[1]" is not assignable to type "Literal[2]"
      "available" is missing from "StandardSticker"
      "guild_id" is missing from "StandardSticker"
      "user" is missing from "StandardSticker" (reportIncompatibleMethodOverride)
<CWD>/discord/types/components.py
<CWD>/discord/types/components.py:47:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[1]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:52:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[2]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:84:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[3]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:89:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[5]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:94:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[6]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:99:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[7]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:104:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[8]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:110:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[4]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:122:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[3, 5, 6, 7, 8]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:130:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[9]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:136:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[10]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:153:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[11]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:166:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[12]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:171:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[13]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:179:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[14]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:185:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[17]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:192:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[18]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/components.py:199:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[19]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/interactions.py
<CWD>/discord/types/interactions.py:209:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[4]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/interactions.py:215:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[3, 5, 6, 7, 8]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/interactions.py:221:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[19]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/interactions.py:237:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[10]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/interactions.py:242:5 - error: "type" overrides symbol of same name in class "ComponentBase"
  Variable is mutable so its type is invariant
    Override type "Literal[18]" is not the same as base type "int" (reportIncompatibleVariableOverride)
<CWD>/discord/types/scheduled_event.py
<CWD>/discord/types/scheduled_event.py:84:7 - error: TypedDict item "user_count" cannot be redefined as NotRequired (reportIncompatibleVariableOverride)
<CWD>/discord/types/scheduled_event.py:87:7 - error: TypedDict item "user_count" cannot be redefined as NotRequired (reportIncompatibleVariableOverride)
<CWD>/discord/types/scheduled_event.py:90:7 - error: TypedDict item "user_count" cannot be redefined as NotRequired (reportIncompatibleVariableOverride)
<CWD>/discord/ui/action_row.py
<CWD>/discord/ui/action_row.py:163:31 - error: Cannot access attribute "__discord_ui_model_type__" for class "FunctionType"
  Attribute "__discord_ui_model_type__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/action_row.py:163:64 - error: Cannot access attribute "__discord_ui_model_kwargs__" for class "FunctionType"
  Attribute "__discord_ui_model_kwargs__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/action_row.py:412:9 - error: Overload 1 for "select" overlaps overload 2 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ui/action_row.py:412:9 - error: Overload 1 for "select" overlaps overload 3 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ui/action_row.py:412:9 - error: Overload 1 for "select" overlaps overload 4 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ui/action_row.py:412:9 - error: Overload 1 for "select" overlaps overload 5 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ui/action_row.py:597:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "ActionRow"
    "Component" is not assignable to "ActionRow" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/button.py
<CWD>/discord/ui/button.py:259:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 name mismatch: base parameter is named "component", override parameter is named "button" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/button.py:276:9 - error: Method "to_component_dict" overrides class "Item" in an incompatible manner
  Return type mismatch: base method returns type "Dict[str, Any]", override returns type "ButtonComponent"
    "ButtonComponent" is not assignable to "Dict[str, Any]" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/button.py:287:9 - error: Method "_refresh_component" overrides class "Item" in an incompatible manner
  Parameter 2 name mismatch: base parameter is named "component", override parameter is named "button" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/button.py:376:14 - error: Cannot assign to attribute "__discord_ui_model_type__" for class "FunctionType"
  Attribute "__discord_ui_model_type__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/button.py:377:14 - error: Cannot assign to attribute "__discord_ui_model_kwargs__" for class "FunctionType"
  Attribute "__discord_ui_model_kwargs__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/container.py
<CWD>/discord/ui/container.py:151:34 - error: Cannot access attribute "__discord_ui_model_type__" for class "FunctionType"
  Attribute "__discord_ui_model_type__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/container.py:151:66 - error: Cannot access attribute "__discord_ui_model_kwargs__" for class "FunctionType"
  Attribute "__discord_ui_model_kwargs__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/container.py:179:9 - error: Method "_update_view" overrides class "Item" in an incompatible manner
  Return type mismatch: base method returns type "None", override returns type "bool"
    "bool" is not assignable to "None" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/container.py:260:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "Container"
    "Component" is not assignable to "Container" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/file.py
<CWD>/discord/ui/file.py:162:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "FileComponent"
    "Component" is not assignable to "FileComponent" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/file_upload.py
<CWD>/discord/ui/file_upload.py:172:9 - error: Method "to_component_dict" overrides class "Item" in an incompatible manner
  Return type mismatch: base method returns type "Dict[str, Any]", override returns type "FileUploadComponent"
    "FileUploadComponent" is not assignable to "Dict[str, Any]" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/file_upload.py:175:9 - error: Method "_refresh_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "FileUploadComponent"
    "Component" is not assignable to "FileUploadComponent" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/file_upload.py:178:9 - error: Method "_handle_submit" overrides class "Item" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "Dict[str, Any]", override parameter is type "ModalSubmitTextInputInteractionData"
    "Dict[str, Any]" is not assignable to "ModalSubmitTextInputInteractionData" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/file_upload.py:184:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "FileUploadComponent"
    "Component" is not assignable to "FileUploadComponent" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/label.py
<CWD>/discord/ui/label.py:112:9 - error: Method "to_component_dict" overrides class "Item" in an incompatible manner
  Return type mismatch: base method returns type "Dict[str, Any]", override returns type "LabelComponent"
    "LabelComponent" is not assignable to "Dict[str, Any]" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/label.py:125:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "LabelComponent"
    "Component" is not assignable to "LabelComponent" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/media_gallery.py
<CWD>/discord/ui/media_gallery.py:259:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "MediaGalleryComponent"
    "Component" is not assignable to "MediaGalleryComponent" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/modal.py
<CWD>/discord/ui/modal.py:159:15 - error: Method "on_error" overrides class "BaseView" in an incompatible manner
  Positional parameter count mismatch; base method has 4, but override has 3 (reportIncompatibleMethodOverride)
<CWD>/discord/ui/modal.py:176:9 - error: Method "_refresh" overrides class "BaseView" in an incompatible manner
  Positional parameter count mismatch; base method has 2, but override has 4
  Parameter 2 name mismatch: base parameter is named "components", override parameter is named "interaction" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/modal.py:202:15 - error: Method "_scheduled_task" overrides class "BaseView" in an incompatible manner
  Positional parameter count mismatch; base method has 3, but override has 4
  Parameter 2 name mismatch: base parameter is named "item", override parameter is named "interaction"
  Parameter 3 name mismatch: base parameter is named "interaction", override parameter is named "components" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/section.py
<CWD>/discord/ui/section.py:251:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "SectionComponent"
    "Component" is not assignable to "SectionComponent" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py
<CWD>/discord/ui/select.py:270:14 - error: "row" incorrectly overrides property of same name in class "Item" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:363:9 - error: Method "to_component_dict" overrides class "Item" in an incompatible manner
  Return type mismatch: base method returns type "Dict[str, Any]", override returns type "SelectMenu"
    "SelectMenu" is not assignable to "Dict[str, Any]" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:366:9 - error: Method "_refresh_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "SelectMenu"
    "Component" is not assignable to "SelectMenu" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:369:9 - error: Method "_handle_submit" overrides class "Item" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "Dict[str, Any]", override parameter is type "SelectMessageComponentInteractionData"
    "Dict[str, Any]" is not assignable to "SelectMessageComponentInteractionData" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:382:9 - error: Method "_refresh_state" overrides class "Item" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "Dict[str, Any]", override parameter is type "SelectMessageComponentInteractionData"
    "Dict[str, Any]" is not assignable to "SelectMessageComponentInteractionData" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:405:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "SelectMenu"
    "Component" is not assignable to "SelectMenu" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:493:9 - error: "values" incorrectly overrides property of same name in class "BaseSelect"
  Property method "fget" is incompatible
    Return type mismatch: base method returns type "List[PossibleValue]", override returns type "List[str]"
      "List[str]" is not assignable to "List[PossibleValue]"
        Type parameter "_T@list" is invariant, but "str" is not the same as "PossibleValue"
        Consider switching from "list" to "Sequence" which is covariant (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:669:9 - error: "values" incorrectly overrides property of same name in class "BaseSelect"
  Property method "fget" is incompatible
    Return type mismatch: base method returns type "List[PossibleValue]", override returns type "List[Member | User]"
      "List[Member | User]" is not assignable to "List[PossibleValue]"
        Type parameter "_T@list" is invariant, but "Member | User" is not the same as "PossibleValue"
        Consider switching from "list" to "Sequence" which is covariant (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:777:9 - error: "values" incorrectly overrides property of same name in class "BaseSelect"
  Property method "fget" is incompatible
    Return type mismatch: base method returns type "List[PossibleValue]", override returns type "List[Role]"
      "List[Role]" is not assignable to "List[PossibleValue]"
        Type parameter "_T@list" is invariant, but "Role" is not the same as "PossibleValue"
        Consider switching from "list" to "Sequence" which is covariant (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:881:9 - error: "values" incorrectly overrides property of same name in class "BaseSelect"
  Property method "fget" is incompatible
    Return type mismatch: base method returns type "List[PossibleValue]", override returns type "List[Member | User | Role]"
      "List[Member | User | Role]" is not assignable to "List[PossibleValue]"
        Type parameter "_T@list" is invariant, but "Member | User | Role" is not the same as "PossibleValue"
        Consider switching from "list" to "Sequence" which is covariant (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:1010:9 - error: "values" incorrectly overrides property of same name in class "BaseSelect"
  Property method "fget" is incompatible
    Return type mismatch: base method returns type "List[PossibleValue]", override returns type "List[AppCommandChannel | AppCommandThread]"
      "List[AppCommandChannel | AppCommandThread]" is not assignable to "List[PossibleValue]"
        Type parameter "_T@list" is invariant, but "AppCommandChannel | AppCommandThread" is not the same as "PossibleValue"
        Consider switching from "list" to "Sequence" which is covariant (reportIncompatibleMethodOverride)
<CWD>/discord/ui/select.py:1028:5 - error: Overload 1 for "select" overlaps overload 2 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ui/select.py:1028:5 - error: Overload 1 for "select" overlaps overload 3 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ui/select.py:1028:5 - error: Overload 1 for "select" overlaps overload 4 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ui/select.py:1028:5 - error: Overload 1 for "select" overlaps overload 5 and returns an incompatible type (reportOverlappingOverload)
<CWD>/discord/ui/select.py:1221:14 - error: Cannot assign to attribute "__discord_ui_model_type__" for class "FunctionType"
  Attribute "__discord_ui_model_type__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/select.py:1222:14 - error: Cannot assign to attribute "__discord_ui_model_kwargs__" for class "FunctionType"
  Attribute "__discord_ui_model_kwargs__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/select.py:1232:18 - error: Cannot access attribute "__discord_ui_model_kwargs__" for class "FunctionType"
  Attribute "__discord_ui_model_kwargs__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/select.py:1234:18 - error: Cannot access attribute "__discord_ui_model_kwargs__" for class "FunctionType"
  Attribute "__discord_ui_model_kwargs__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/select.py:1250:18 - error: Cannot access attribute "__discord_ui_model_kwargs__" for class "FunctionType"
  Attribute "__discord_ui_model_kwargs__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/separator.py
<CWD>/discord/ui/separator.py:129:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "SeparatorComponent"
    "Component" is not assignable to "SeparatorComponent" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/text_display.py
<CWD>/discord/ui/text_display.py:87:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "TextDisplay"
    "Component" is not assignable to "TextDisplay" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/text_input.py
<CWD>/discord/ui/text_input.py:249:9 - error: Method "to_component_dict" overrides class "Item" in an incompatible manner
  Return type mismatch: base method returns type "Dict[str, Any]", override returns type "TextInput"
    "TextInput" is not assignable to "Dict[str, Any]" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/text_input.py:252:9 - error: Method "_refresh_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "TextInput"
    "Component" is not assignable to "TextInput" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/text_input.py:255:9 - error: Method "_refresh_state" overrides class "Item" in an incompatible manner
  Parameter 3 type mismatch: base parameter is type "Dict[str, Any]", override parameter is type "ModalSubmitTextInputInteractionData"
    "Dict[str, Any]" is not assignable to "ModalSubmitTextInputInteractionData" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/text_input.py:259:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "TextInput"
    "Component" is not assignable to "TextInput" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/thumbnail.py
<CWD>/discord/ui/thumbnail.py:138:9 - error: Method "from_component" overrides class "Item" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "Component", override parameter is type "ThumbnailComponent"
    "Component" is not assignable to "ThumbnailComponent" (reportIncompatibleMethodOverride)
<CWD>/discord/ui/view.py
<CWD>/discord/ui/view.py:246:34 - error: Cannot access attribute "__discord_ui_model_type__" for class "FunctionType"
  Attribute "__discord_ui_model_type__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/ui/view.py:246:66 - error: Cannot access attribute "__discord_ui_model_kwargs__" for class "FunctionType"
  Attribute "__discord_ui_model_kwargs__" is unknown (reportFunctionMemberAccess)
<CWD>/discord/user.py
<CWD>/discord/user.py:428:9 - error: Method "_update" overrides class "BaseUser" in an incompatible manner
  Parameter 2 type mismatch: base parameter is type "User | PartialUser", override parameter is type "User"
    Type "User | PartialUser" is not assignable to type "User"
      "bot" is missing from "PartialUser"
      "system" is missing from "PartialUser"
      "mfa_enabled" is missing from "PartialUser"
      "locale" is missing from "PartialUser"
      "verified" is missing from "PartialUser"
      "email" is missing from "PartialUser"
... (reportIncompatibleMethodOverride)
<CWD>/discord/utils.py
<CWD>/discord/utils.py:662:16 - error: "orjson" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/utils.py:1447:33 - error: "ZstdDecompressor" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/utils.py:1469:28 - error: "zlib" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/voice_client.py
<CWD>/discord/voice_client.py:216:5 - error: "channel" overrides symbol of same name in class "VoiceProtocol"
  Variable is mutable so its type is invariant
    Override type "VocalGuildChannel" is not the same as base type "Connectable" (reportIncompatibleVariableOverride)
<CWD>/discord/voice_client.py:388:15 - error: "nacl" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/voice_client.py:399:15 - error: "nacl" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/voice_client.py:408:15 - error: "nacl" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/voice_client.py:409:17 - error: "nacl" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/voice_client.py:409:35 - error: "nacl" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/voice_client.py:416:15 - error: "nacl" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/discord/webhook/async_.py
<CWD>/discord/webhook/async_.py:803:5 - error: "_state" overrides symbol of same name in class "Message"
  Variable is mutable so its type is invariant
    Override type "_WebhookState" is not the same as base type "ConnectionState[Client]" (reportIncompatibleVariableOverride)
<CWD>/discord/webhook/async_.py:805:15 - error: Method "edit" overrides class "Message" in an incompatible manner
  Parameter "suppress" is missing in override
  Parameter "delete_after" is missing in override (reportIncompatibleMethodOverride)
<CWD>/discord/webhook/sync.py
<CWD>/discord/webhook/sync.py:81:14 - warning: Import "requests" could not be resolved from source (reportMissingModuleSource)
<CWD>/discord/webhook/sync.py:408:5 - error: "_state" overrides symbol of same name in class "Message"
  Variable is mutable so its type is invariant
    Override type "_WebhookState" is not the same as base type "ConnectionState[Client]" (reportIncompatibleVariableOverride)
<CWD>/discord/webhook/sync.py:410:9 - error: Method "edit" overrides class "Message" in an incompatible manner
  Parameter "suppress" is missing in override
  Parameter "delete_after" is missing in override
  Parameter "view" is missing in override
  Return type mismatch: base method returns type "CoroutineType[Any, Any, Message]", override returns type "SyncWebhookMessage"
    "SyncWebhookMessage" is not assignable to "CoroutineType[Any, Any, Message]" (reportIncompatibleMethodOverride)
<CWD>/discord/webhook/sync.py:474:9 - error: Method "add_files" overrides class "Message" in an incompatible manner
  Return type mismatch: base method returns type "CoroutineType[Any, Any, Message]", override returns type "SyncWebhookMessage"
    "SyncWebhookMessage" is not assignable to "CoroutineType[Any, Any, Message]" (reportIncompatibleMethodOverride)
<CWD>/discord/webhook/sync.py:498:9 - error: Method "remove_attachments" overrides class "Message" in an incompatible manner
  Return type mismatch: base method returns type "CoroutineType[Any, Any, Message]", override returns type "SyncWebhookMessage"
    "SyncWebhookMessage" is not assignable to "CoroutineType[Any, Any, Message]" (reportIncompatibleMethodOverride)
<CWD>/discord/webhook/sync.py:522:9 - error: Method "delete" overrides class "PartialMessage" in an incompatible manner
  Return type mismatch: base method returns type "CoroutineType[Any, Any, None]", override returns type "None"
    "None" is not assignable to "CoroutineType[Any, Any, None]" (reportIncompatibleMethodOverride)
<CWD>/discord/webhook/sync.py:652:16 - warning: Import "requests" could not be resolved from source (reportMissingModuleSource)
<CWD>/discord/webhook/sync.py:695:16 - warning: Import "requests" could not be resolved from source (reportMissingModuleSource)
<CWD>/discord/widget.py
<CWD>/discord/widget.py:161:9 - error: "avatar" incorrectly overrides property of same name in class "BaseUser" (reportIncompatibleMethodOverride)
210 errors, 4 warnings, 0 informations

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,306 @@
discord/abc.py:1057:16: error[invalid-return-type] Return type does not match returned value: expected `Self@_clone_impl`, found `GuildChannel`
discord/abc.py:2091:9: error[invalid-parameter-default] Default value of type `<class 'VoiceClient'>` is not assignable to annotated parameter type `(Client, Connectable, /) -> T@connect`
discord/app_commands/checks.py:190:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `Cooldown`
discord/app_commands/commands.py:140:63: error[invalid-argument-type] Argument to class `Choice` is incorrect: Expected `str | int | float`, found `typing.TypeVar`
discord/app_commands/commands.py:141:55: error[invalid-argument-type] Argument to class `Choice` is incorrect: Expected `str | int | float`, found `typing.TypeVar`
discord/app_commands/commands.py:372:37: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__qualname__`
discord/app_commands/commands.py:381:102: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__qualname__`
discord/app_commands/commands.py:393:29: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__discord_app_commands_param_description__`
discord/app_commands/commands.py:402:19: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__discord_app_commands_param_rename__`
discord/app_commands/commands.py:409:19: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__discord_app_commands_param_choices__`
discord/app_commands/commands.py:416:24: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__discord_app_commands_param_autocomplete__`
discord/app_commands/commands.py:432:38: error[unresolved-attribute] Object of type `((Interaction[Any], Member, /) -> @Todo) | ((Interaction[Any], User, /) -> @Todo) | ((Interaction[Any], Message, /) -> @Todo)` has no attribute `__qualname__`
discord/app_commands/commands.py:444:58: error[unresolved-attribute] Object of type `((Interaction[Any], Member, /) -> @Todo) | ((Interaction[Any], User, /) -> @Todo) | ((Interaction[Any], Message, /) -> @Todo)` has no attribute `__qualname__`
discord/app_commands/commands.py:450:57: error[unresolved-attribute] Object of type `((Interaction[Any], Member, /) -> @Todo) | ((Interaction[Any], User, /) -> @Todo) | ((Interaction[Any], Message, /) -> @Todo)` has no attribute `__globals__`
discord/app_commands/commands.py:450:75: error[unresolved-attribute] Object of type `((Interaction[Any], Member, /) -> @Todo) | ((Interaction[Any], User, /) -> @Todo) | ((Interaction[Any], Message, /) -> @Todo)` has no attribute `__globals__`
discord/app_commands/commands.py:456:5: error[unresolved-attribute] Unresolved attribute `__discord_app_commands_base_function__` on type `F@mark_overrideable`.
discord/app_commands/commands.py:807:19: error[missing-argument] No argument provided for required parameter `error` of function `on_error`
discord/app_commands/commands.py:807:35: error[invalid-argument-type] Argument to function `on_error` is incorrect: Expected `Group`, found `Interaction[Client]`
discord/app_commands/commands.py:807:48: error[invalid-argument-type] Argument to function `on_error` is incorrect: Expected `Interaction[Client]`, found `AppCommandError`
discord/app_commands/commands.py:810:23: error[missing-argument] No argument provided for required parameter `error` of function `on_error`
discord/app_commands/commands.py:810:46: error[invalid-argument-type] Argument to function `on_error` is incorrect: Expected `Group`, found `Interaction[Client]`
discord/app_commands/commands.py:810:59: error[invalid-argument-type] Argument to function `on_error` is incorrect: Expected `Interaction[Client]`, found `AppCommandError`
discord/app_commands/commands.py:2129:23: error[unresolved-attribute] Object of type `((Interaction[Any], Member, /) -> @Todo) | ((Interaction[Any], User, /) -> @Todo) | ((Interaction[Any], Message, /) -> @Todo)` has no attribute `__name__`
discord/app_commands/commands.py:2477:17: error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__discord_app_commands_checks__` on type `(@Todo & ~Top[Command[Unknown, object, Unknown]] & ~ContextMenu & ~<Protocol with members '__discord_app_commands_checks__'>) | (((Interaction[Any], Member, /) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~ContextMenu & ~<Protocol with members '__discord_app_commands_checks__'>) | (((Interaction[Any], User, /) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~ContextMenu & ~<Protocol with members '__discord_app_commands_checks__'>) | (((Interaction[Any], Message, /) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~ContextMenu & ~<Protocol with members '__discord_app_commands_checks__'>)`
discord/app_commands/commands.py:2479:13: warning[possibly-missing-attribute] Attribute `__discord_app_commands_checks__` may be missing on object of type `(@Todo & ~Top[Command[Unknown, object, Unknown]] & ~ContextMenu) | (((Interaction[Any], Member, /) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~ContextMenu) | (((Interaction[Any], User, /) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~ContextMenu) | (((Interaction[Any], Message, /) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~ContextMenu)`
discord/app_commands/errors.py:453:95: error[unresolved-attribute] Object of type `object` has no attribute `__qualname__`
discord/app_commands/errors.py:460:88: error[unresolved-attribute] Object of type `((Interaction[Any], Member, /) -> @Todo) | ((Interaction[Any], User, /) -> @Todo) | ((Interaction[Any], Message, /) -> @Todo)` has no attribute `__qualname__`
discord/app_commands/models.py:926:16: error[invalid-return-type] Return type does not match returned value: expected `Member | None`, found `(Guild & ~AlwaysTruthy) | None | Member`
discord/app_commands/transformers.py:110:67: error[invalid-argument-type] Argument to bound method `_checked_translate` is incorrect: Expected `locale_str`, found `str | locale_str`
discord/app_commands/transformers.py:115:67: error[invalid-argument-type] Argument to bound method `_checked_translate` is incorrect: Expected `locale_str`, found `str | locale_str`
discord/app_commands/transformers.py:238:22: error[invalid-type-form] Variable of type `Self@__or__` is not allowed in a type expression
discord/app_commands/transformers.py:584:13: error[invalid-assignment] Not enough values to unpack: Expected 3
discord/app_commands/tree.py:76:10: error[invalid-argument-type] Argument to class `Interaction` is incorrect: Expected `Client`, found `typing.TypeVar`
discord/app_commands/tree.py:1011:27: error[unresolved-attribute] Object of type `((Interaction[Any], Member, /) -> @Todo) | ((Interaction[Any], User, /) -> @Todo) | ((Interaction[Any], Message, /) -> @Todo)` has no attribute `__name__`
discord/app_commands/tree.py:1133:19: error[missing-argument] No argument provided for required parameter `error` of function `on_error`
discord/app_commands/tree.py:1133:33: error[invalid-argument-type] Argument to function `on_error` is incorrect: Argument type `Interaction[ClientT@CommandTree]` does not satisfy upper bound `CommandTree[ClientT@CommandTree]` of type variable `Self`
discord/app_commands/tree.py:1133:46: error[invalid-argument-type] Argument to function `on_error` is incorrect: Expected `Interaction[ClientT@CommandTree]`, found `AppCommandError`
discord/app_commands/tree.py:1216:9: error[unresolved-attribute] Unresolved attribute `_cs_command` on type `Interaction[ClientT@CommandTree]`.
discord/app_commands/tree.py:1243:19: error[missing-argument] No argument provided for required parameter `error` of function `on_error`
discord/app_commands/tree.py:1243:33: error[invalid-argument-type] Argument to function `on_error` is incorrect: Argument type `Interaction[ClientT@CommandTree]` does not satisfy upper bound `CommandTree[ClientT@CommandTree]` of type variable `Self`
discord/app_commands/tree.py:1243:46: error[invalid-argument-type] Argument to function `on_error` is incorrect: Expected `Interaction[ClientT@CommandTree]`, found `AppCommandError`
discord/app_commands/tree.py:1273:9: error[unresolved-attribute] Unresolved attribute `_cs_command` on type `Interaction[ClientT@CommandTree]`.
discord/app_commands/tree.py:1280:9: error[unresolved-attribute] Unresolved attribute `_cs_namespace` on type `Interaction[ClientT@CommandTree]`.
discord/app_commands/tree.py:1301:19: error[missing-argument] No argument provided for required parameter `error` of function `on_error`
discord/app_commands/tree.py:1301:33: error[invalid-argument-type] Argument to function `on_error` is incorrect: Argument type `Interaction[ClientT@CommandTree]` does not satisfy upper bound `CommandTree[ClientT@CommandTree]` of type variable `Self`
discord/app_commands/tree.py:1301:46: error[invalid-argument-type] Argument to function `on_error` is incorrect: Expected `Interaction[ClientT@CommandTree]`, found `AppCommandError`
discord/asset.py:462:16: error[invalid-return-type] Return type does not match returned value: expected `Self@replace`, found `Asset`
discord/asset.py:462:31: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client] | _WebhookState`, found `Any | None | ConnectionState[Client] | _WebhookState`
discord/asset.py:490:16: error[invalid-return-type] Return type does not match returned value: expected `Self@with_size`, found `Asset`
discord/asset.py:490:31: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client] | _WebhookState`, found `Any | None | ConnectionState[Client] | _WebhookState`
discord/asset.py:525:16: error[invalid-return-type] Return type does not match returned value: expected `Self@with_format`, found `Asset`
discord/asset.py:525:31: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client] | _WebhookState`, found `Any | None | ConnectionState[Client] | _WebhookState`
discord/audit_logs.py:550:56: error[invalid-argument-type] Argument to bound method `from_data` is incorrect: Expected `int`, found `None | Unknown | int`
discord/audit_logs.py:551:55: error[invalid-argument-type] Argument to bound method `from_data` is incorrect: Expected `int`, found `None | Unknown | int`
discord/automod.py:164:49: error[invalid-key] Unknown key "duration_seconds" for TypedDict `_AutoModerationActionMetadataCustomMessage`: Unknown key "duration_seconds"
discord/automod.py:164:49: error[invalid-key] Unknown key "duration_seconds" for TypedDict `_AutoModerationActionMetadataAlert`: Unknown key "duration_seconds"
discord/automod.py:165:52: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `int | float`, found `str | int`
discord/automod.py:167:47: error[invalid-key] Unknown key "channel_id" for TypedDict `_AutoModerationActionMetadataCustomMessage`: Unknown key "channel_id"
discord/automod.py:167:47: error[invalid-key] Unknown key "channel_id" for TypedDict `_AutoModerationActionMetadataTimeout`: Unknown key "channel_id"
discord/automod.py:538:16: error[invalid-return-type] Return type does not match returned value: expected `Self@edit`, found `AutoModRule`
discord/backoff.py:63:42: error[invalid-parameter-default] Default value of type `Literal[False]` is not assignable to annotated parameter type `T@ExponentialBackoff`
discord/channel.py:3234:40: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/channel.py:3234:57: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `PartialUser` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/channel.py:3409:40: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/channel.py:3409:63: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `PartialUser` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/client.py:723:59: error[invalid-argument-type] Argument to bound method `from_client` is incorrect: Expected `bool`, found `Unknown | int | None`
discord/client.py:723:59: error[invalid-argument-type] Argument to bound method `from_client` is incorrect: Expected `URL | None`, found `Unknown | int | None`
discord/client.py:723:59: error[invalid-argument-type] Argument to bound method `from_client` is incorrect: Expected `str | None`, found `Unknown | int | None`
discord/client.py:723:59: error[invalid-argument-type] Argument to bound method `from_client` is incorrect: Expected `bool`, found `Unknown | int | None`
discord/client.py:723:59: error[invalid-argument-type] Argument to bound method `from_client` is incorrect: Expected `str`, found `Unknown | int | None`
discord/client.py:723:59: error[invalid-argument-type] Argument to bound method `from_client` is incorrect: Expected `bool`, found `Unknown | int | None`
discord/client.py:2058:23: error[unresolved-attribute] Object of type `CoroT@event` has no attribute `__name__`
discord/client.py:2059:71: error[unresolved-attribute] Object of type `CoroT@event` has no attribute `__name__`
discord/components.py:86:9: error[invalid-type-form] Variable of type `Literal["TextDisplay"]` is not allowed in a type expression
discord/components.py:787:29: error[invalid-type-form] Variable of type `Literal["TextDisplay"]` is not allowed in a type expression
discord/components.py:1326:27: error[invalid-argument-type] Invalid argument to key "components" with declared type `list[ActionRow | TextComponent | MediaGalleryComponent | ... omitted 5 union elements]` on TypedDict `ContainerComponent`: value of type `list[ButtonComponent | SelectMenu | TextInput | ... omitted 11 union elements]`
discord/components.py:1458:26: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ActionRow`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1460:23: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ButtonComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1462:26: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `TextInput`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1466:33: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `SectionComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1468:28: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `TextComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1470:35: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ThumbnailComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1472:38: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `MediaGalleryComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1474:30: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `FileComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1476:35: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `SeparatorComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1478:26: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ContainerComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1480:31: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `LabelComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/components.py:1482:36: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `FileUploadComponent`, found `ButtonComponent | SelectMenu | TextInput | ... omitted 10 union elements`
discord/emoji.py:131:42: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client]`, found `Any | None | ConnectionState[Client]`
discord/emoji.py:186:16: warning[possibly-missing-attribute] Attribute `_get_guild` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/emoji.py:225:30: warning[possibly-missing-attribute] Attribute `application_id` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/emoji.py:229:19: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/emoji.py:232:15: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/emoji.py:282:30: warning[possibly-missing-attribute] Attribute `application_id` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/emoji.py:287:26: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/emoji.py:292:54: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client]`, found `Any | None | ConnectionState[Client]`
discord/emoji.py:294:22: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/errors.py:30:10: error[unresolved-import] Cannot resolve imported module `requests`
discord/ext/commands/bot.py:89:33: error[invalid-type-form] Invalid subscript of object of type `GenericAlias` in type expression
discord/ext/commands/bot.py:177:9: error[invalid-parameter-default] Default value of type `_DefaultRepr` is not assignable to annotated parameter type `HelpCommand | None`
discord/ext/commands/bot.py:655:16: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__name__`
discord/ext/commands/bot.py:681:16: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__name__`
discord/ext/commands/bot.py:1546:13: error[invalid-parameter-default] Default value of type `_DefaultRepr` is not assignable to annotated parameter type `HelpCommand | None`
discord/ext/commands/cog.py:268:5: error[unresolved-attribute] Unresolved attribute `__cog_special_method__` on type `FuncT@_cog_special_method`.
discord/ext/commands/cog.py:288:28: error[invalid-argument-type] Argument to class `Command` is incorrect: Expected `Cog | None`, found `typing.Self`
discord/ext/commands/cog.py:289:58: error[invalid-argument-type] Argument to class `Command` is incorrect: Expected `Group | Cog`, found `typing.Self`
discord/ext/commands/cog.py:497:24: error[unresolved-attribute] Object of type `FuncT@_get_overridden_method` has no attribute `__func__`
discord/ext/commands/cog.py:527:13: error[invalid-assignment] Object of type `Literal[True]` is not assignable to attribute `__cog_listener__` on type `(FuncT@listener & ~staticmethod[object, object]) | ((...) -> object)`
discord/ext/commands/cog.py:528:33: error[unresolved-attribute] Object of type `(FuncT@listener & ~staticmethod[object, object]) | ((...) -> object)` has no attribute `__name__`
discord/ext/commands/cog.py:530:17: error[unresolved-attribute] Object of type `(FuncT@listener & ~staticmethod[object, object]) | ((...) -> object)` has no attribute `__cog_listener_names__`
discord/ext/commands/cog.py:532:17: error[invalid-assignment] Object of type `list[Unknown | (str & ~AlwaysFalsy)]` is not assignable to attribute `__cog_listener_names__` on type `(FuncT@listener & ~staticmethod[object, object]) | ((...) -> object)`
discord/ext/commands/converter.py:402:39: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `TextChannel | VoiceChannel | StageChannel | ... omitted 4 union elements`, found `(VoiceChannel & ~AlwaysFalsy) | (StageChannel & ~AlwaysFalsy) | (ForumChannel & Messageable & ~AlwaysFalsy) | ... omitted 5 union elements`
discord/ext/commands/converter.py:1211:89: warning[possibly-missing-attribute] Attribute `name` may be missing on object of type `Parameter | None`
discord/ext/commands/converter.py:1241:13: error[invalid-assignment] Not enough values to unpack: Expected 3
discord/ext/commands/cooldowns.py:251:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `MaxConcurrency`
discord/ext/commands/core.py:141:24: error[invalid-assignment] Object of type `object` is not assignable to `(...) -> Any`
discord/ext/commands/core.py:433:38: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__name__`
discord/ext/commands/core.py:462:22: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__commands_checks__`
discord/ext/commands/core.py:470:24: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__commands_cooldown__`
discord/ext/commands/core.py:483:31: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__commands_max_concurrency__`
discord/ext/commands/core.py:500:29: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__before_invoke__`
discord/ext/commands/core.py:508:28: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__after_invoke__`
discord/ext/commands/core.py:544:24: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__globals__`
discord/ext/commands/core.py:653:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `Command[CogT@Command, P@Command, T@Command]`
discord/ext/commands/core.py:660:20: error[invalid-return-type] Return type does not match returned value: expected `Self@_update_copy`, found `Command[CogT@Command, P@Command, T@Command]`
discord/ext/commands/core.py:680:52: warning[possibly-missing-attribute] Attribute `cog_command_error` may be missing on object of type `CogT@Command & ~None`
discord/ext/commands/core.py:919:47: warning[possibly-missing-attribute] Attribute `cog_before_invoke` may be missing on object of type `CogT@Command & ~None`
discord/ext/commands/core.py:921:23: error[invalid-argument-type] Argument to bound method `cog_before_invoke` is incorrect: Expected `Cog`, found `CogT@Command`
discord/ext/commands/core.py:939:47: warning[possibly-missing-attribute] Attribute `cog_after_invoke` may be missing on object of type `CogT@Command & ~None`
discord/ext/commands/core.py:941:23: error[invalid-argument-type] Argument to bound method `cog_after_invoke` is incorrect: Expected `Cog`, found `CogT@Command`
discord/ext/commands/core.py:1312:58: warning[possibly-missing-attribute] Attribute `cog_check` may be missing on object of type `CogT@Command & ~None`
discord/ext/commands/core.py:1552:22: error[no-matching-overload] No overload of function `command` matches arguments
discord/ext/commands/core.py:1609:22: error[no-matching-overload] No overload of function `group` matches arguments
discord/ext/commands/core.py:1942:17: error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~<Protocol with members '__commands_checks__'>`
discord/ext/commands/core.py:1944:13: error[unresolved-attribute] Object of type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]` has no attribute `__commands_checks__`
discord/ext/commands/core.py:1949:9: error[unresolved-attribute] Unresolved attribute `predicate` on type `def decorator(func: Command[Any, @Todo, Any] | ((...) -> @Todo)) -> Command[Any, @Todo, Any] | ((...) -> @Todo)`.
discord/ext/commands/core.py:1956:9: error[unresolved-attribute] Unresolved attribute `predicate` on type `def decorator(func: Command[Any, @Todo, Any] | ((...) -> @Todo)) -> Command[Any, @Todo, Any] | ((...) -> @Todo)`.
discord/ext/commands/core.py:2358:32: error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `Never`, found `def predicate[BotT](ctx: Context[BotT@predicate]) -> bool`
discord/ext/commands/core.py:2365:17: error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~<Protocol with members '__commands_checks__'>`
discord/ext/commands/core.py:2367:13: error[unresolved-attribute] Object of type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]` has no attribute `__commands_checks__`
discord/ext/commands/core.py:2368:13: error[invalid-assignment] Object of type `Literal[True]` is not assignable to attribute `__discord_app_commands_guild_only__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]`
discord/ext/commands/core.py:2373:9: error[unresolved-attribute] Unresolved attribute `predicate` on type `def decorator(func: Command[Unknown, Unknown, Unknown] | ((...) -> @Todo)) -> Command[Unknown, Unknown, Unknown] | ((...) -> @Todo)`.
discord/ext/commands/core.py:2380:9: error[unresolved-attribute] Unresolved attribute `predicate` on type `def decorator(func: Command[Unknown, Unknown, Unknown] | ((...) -> @Todo)) -> Command[Unknown, Unknown, Unknown] | ((...) -> @Todo)`.
discord/ext/commands/core.py:2433:32: error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `Never`, found `def predicate[BotT](ctx: Context[BotT@predicate]) -> bool`
discord/ext/commands/core.py:2440:17: error[invalid-assignment] Object of type `list[Unknown]` is not assignable to attribute `__commands_checks__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]] & ~<Protocol with members '__commands_checks__'>`
discord/ext/commands/core.py:2442:13: error[unresolved-attribute] Object of type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]` has no attribute `__commands_checks__`
discord/ext/commands/core.py:2443:13: error[invalid-assignment] Object of type `Literal[True]` is not assignable to attribute `__discord_app_commands_is_nsfw__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]`
discord/ext/commands/core.py:2448:9: error[unresolved-attribute] Unresolved attribute `predicate` on type `def decorator(func: Command[Unknown, Unknown, Unknown] | ((...) -> @Todo)) -> Command[Unknown, Unknown, Unknown] | ((...) -> @Todo)`.
discord/ext/commands/core.py:2455:9: error[unresolved-attribute] Unresolved attribute `predicate` on type `def decorator(func: Command[Unknown, Unknown, Unknown] | ((...) -> @Todo)) -> Command[Unknown, Unknown, Unknown] | ((...) -> @Todo)`.
discord/ext/commands/core.py:2499:13: error[invalid-assignment] Object of type `CooldownMapping[Unknown]` is not assignable to attribute `__commands_cooldown__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]`
discord/ext/commands/core.py:2547:13: error[invalid-assignment] Object of type `DynamicCooldownMapping[Unknown]` is not assignable to attribute `__commands_cooldown__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]`
discord/ext/commands/core.py:2582:13: error[invalid-assignment] Object of type `MaxConcurrency` is not assignable to attribute `__commands_max_concurrency__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]`
discord/ext/commands/core.py:2634:13: error[invalid-assignment] Object of type `@Todo` is not assignable to attribute `__before_invoke__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]`
discord/ext/commands/core.py:2657:13: error[invalid-assignment] Object of type `@Todo` is not assignable to attribute `__after_invoke__` on type `((...) -> @Todo) & ~Top[Command[Unknown, object, Unknown]]`
discord/ext/commands/help.py:248:5: error[unresolved-attribute] Unresolved attribute `__help_command_not_overridden__` on type `FuncT@_not_overridden`.
discord/ext/commands/help.py:309:9: error[invalid-assignment] Implicit shadowing of function `get_commands`
discord/ext/commands/help.py:310:9: error[invalid-assignment] Implicit shadowing of function `walk_commands`
discord/ext/commands/help.py:407:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `HelpCommand`
discord/ext/commands/hybrid.py:176:49: error[unresolved-attribute] Object of type `(str, /) -> Any` has no attribute `__name__`
discord/ext/commands/hybrid.py:232:13: error[unresolved-attribute] Unresolved attribute `__hybrid_command_flag__` on type `(...) -> Any`.
discord/ext/commands/hybrid.py:328:9: error[unresolved-attribute] Unresolved attribute `__signature__` on type `(...) -> @Todo`.
discord/ext/commands/hybrid.py:338:17: error[unresolved-attribute] Object of type `(...) -> @Todo` has no attribute `__signature__`
discord/ext/commands/parameters.py:98:9: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/parameters.py:99:9: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/parameters.py:100:9: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/parameters.py:151:16: error[invalid-return-type] Return type does not match returned value: expected `Self@replace`, found `Parameter`
discord/ext/commands/parameters.py:219:5: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/parameters.py:220:5: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/parameters.py:221:5: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/parameters.py:278:9: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/parameters.py:279:9: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/parameters.py:280:9: error[invalid-parameter-default] Default value of type `<class '_empty'>` is not assignable to annotated parameter type `str`
discord/ext/commands/view.py:151:53: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `str`, found `Unknown | str | None`
discord/ext/commands/view.py:162:57: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `str`, found `Unknown | str | None`
discord/ext/tasks/__init__.py:174:49: error[unresolved-attribute] Object of type `LF@Loop` has no attribute `__qualname__`
discord/ext/tasks/__init__.py:237:29: error[unresolved-attribute] Object of type `LF@Loop` has no attribute `__qualname__`
discord/ext/tasks/__init__.py:256:25: error[unresolved-attribute] Object of type `LF@Loop` has no attribute `__qualname__`
discord/ext/tasks/__init__.py:304:9: error[invalid-assignment] Implicit shadowing of function `_error`
discord/ext/tasks/__init__.py:305:22: error[unresolved-attribute] Object of type `LF@Loop` has no attribute `__name__`
discord/ext/tasks/__init__.py:552:75: error[unresolved-attribute] Object of type `LF@Loop` has no attribute `__name__`
discord/file.py:106:9: error[invalid-assignment] Implicit shadowing of function `close`
discord/file.py:160:9: error[invalid-assignment] Implicit shadowing of function `close`
discord/gateway.py:137:48: error[parameter-already-assigned] Multiple values provided for parameter `name` of bound method `__init__`
discord/gateway.py:466:13: error[invalid-assignment] Cannot assign to a subscript on an object of type `int`
discord/gateway.py:470:13: error[invalid-assignment] Cannot assign to a subscript on an object of type `int`
discord/gateway.py:478:13: error[invalid-assignment] Cannot assign to a subscript on an object of type `int`
discord/gateway.py:506:26: error[invalid-argument-type] Argument to bound method `log_receive` is incorrect: Expected `dict[str, Any]`, found `Any | str`
discord/gateway.py:735:13: error[invalid-assignment] Cannot assign to a subscript on an object of type `int`
discord/gateway.py:738:13: error[invalid-assignment] Cannot assign to a subscript on an object of type `int`
discord/gateway.py:741:13: error[invalid-assignment] Cannot assign to a subscript on an object of type `int`
discord/guild.py:1961:13: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ForumChannel | MediaChannel`, found `TextChannel | NewsChannel | VoiceChannel | ... omitted 5 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `str`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `Iterable[str]`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `int | float`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `int | float | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `bool`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `bool`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `int | float | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `BasicAuth | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `str | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `None | str | Mapping[str, Sequence[str | int | float] | int | float] | Sequence[tuple[str, Sequence[str | int | float] | int | float]]`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `Mapping[str, str] | Mapping[istr, str] | Iterable[tuple[str, str]] | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `str | URL | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `BasicAuth | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `SSLContext | bool | Fingerprint`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `bool | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `bytes | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `SSLContext | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `Mapping[str, str] | Mapping[istr, str] | Iterable[tuple[str, str]] | None`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `int`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:566:53: error[invalid-argument-type] Argument to bound method `ws_connect` is incorrect: Expected `int`, found `Unknown | BasicAuth | None | ... omitted 4 union elements`
discord/http.py:640:20: error[invalid-context-manager] Object of type `Ratelimit` cannot be used with `async with` because it does not correctly implement `__aexit__`
discord/interactions.py:229:58: error[invalid-argument-type] Argument to bound method `_from_value` is incorrect: Expected `Sequence[Literal[0, 1, 2]]`, found `list[Unknown | int]`
discord/interactions.py:250:13: error[invalid-assignment] Object of type `(Guild & ~AlwaysTruthy) | VoiceChannel | StageChannel | ... omitted 5 union elements` is not assignable to attribute `channel` of type `VoiceChannel | StageChannel | TextChannel | ... omitted 6 union elements`
discord/interactions.py:256:92: error[invalid-argument-type] Argument to bound method `format_map` is incorrect: Expected `_FormatMapMapping`, found `TextChannel | NewsChannel | VoiceChannel | ... omitted 7 union elements`
discord/interactions.py:307:16: error[invalid-return-type] Return type does not match returned value: expected `Guild | None`, found `(ConnectionState[ClientT@Interaction] & ~AlwaysTruthy & ~AlwaysFalsy) | (Guild & ~AlwaysFalsy) | Any | None`
discord/interactions.py:744:21: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client]`, found `_InteractionMessageState`
discord/interactions.py:1401:16: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/member.py:319:28: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/member.py:319:45: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `User` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/member.py:980:91: warning[deprecated] The function `utcnow` is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)
discord/member.py:1041:61: warning[deprecated] The function `utcnow` is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)
discord/mentions.py:90:9: error[invalid-parameter-default] Default value of type `_FakeBool` is not assignable to annotated parameter type `bool`
discord/mentions.py:91:9: error[invalid-parameter-default] Default value of type `_FakeBool` is not assignable to annotated parameter type `bool | Sequence[Snowflake]`
discord/mentions.py:92:9: error[invalid-parameter-default] Default value of type `_FakeBool` is not assignable to annotated parameter type `bool | Sequence[Snowflake]`
discord/mentions.py:93:9: error[invalid-parameter-default] Default value of type `_FakeBool` is not assignable to annotated parameter type `bool`
discord/message.py:713:16: error[invalid-return-type] Return type does not match returned value: expected `Message | None`, found `(ConnectionState[Client] & ~AlwaysTruthy) | None | Message`
discord/message.py:2404:30: error[invalid-key] TypedDict `Message` can only be subscripted with a string literal key, got key of type `str`
discord/message.py:2455:23: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/message.py:2455:46: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `User` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/message.py:2481:30: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/message.py:2481:47: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `UserWithMember` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/opus.py:141:48: error[unresolved-attribute] Object of type `(...) -> Unknown` has no attribute `__name__`
discord/opus.py:149:48: error[unresolved-attribute] Object of type `(...) -> Unknown` has no attribute `__name__`
discord/poll.py:592:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `Poll`
discord/presences.py:60:16: error[invalid-assignment] Object of type `(ClientStatus & ~AlwaysFalsy) | dict[Unknown, Unknown]` is not assignable to `ClientStatus`
discord/role.py:450:45: error[invalid-assignment] Object of type `list[dict[Unknown | str, Unknown] | Unknown]` is not assignable to `list[RolePositionUpdate]`
discord/role.py:700:45: error[invalid-assignment] Object of type `list[dict[Unknown | str, Unknown | int] | Unknown]` is not assignable to `list[RolePositionUpdate]`
discord/scheduled_event.py:150:40: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/scheduled_event.py:150:63: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `User & ~AlwaysFalsy` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/scheduled_event.py:663:22: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/soundboard.py:232:20: warning[possibly-missing-attribute] Attribute `get_user` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/soundboard.py:233:21: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client]`, found `Any | None | ConnectionState[Client]`
discord/soundboard.py:301:22: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/soundboard.py:302:50: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client]`, found `Any | None | ConnectionState[Client]`
discord/soundboard.py:325:15: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/state.py:263:13: error[invalid-assignment] Implicit shadowing of function `store_user`
discord/state.py:551:16: error[invalid-return-type] Return type does not match returned value: expected `tuple[VoiceChannel | StageChannel | ForumChannel | ... omitted 5 union elements, Guild | None]`, found `tuple[(Unknown & ~AlwaysFalsy) | (Guild & ~AlwaysTruthy & ~AlwaysFalsy) | (VoiceChannel & ~AlwaysFalsy) | ... omitted 6 union elements, Guild | None]`
discord/state.py:822:31: error[invalid-key] Unknown key "data" for TypedDict `PingInteraction`: Unknown key "data"
discord/state.py:823:36: error[invalid-key] Unknown key "custom_id" for TypedDict `ChatInputApplicationCommandInteractionData`: Unknown key "custom_id"
discord/state.py:823:36: error[invalid-key] Unknown key "custom_id" for TypedDict `UserApplicationCommandInteractionData`: Unknown key "custom_id"
discord/state.py:823:36: error[invalid-key] Unknown key "custom_id" for TypedDict `MessageApplicationCommandInteractionData`: Unknown key "custom_id"
discord/state.py:824:41: error[invalid-key] Unknown key "component_type" for TypedDict `ChatInputApplicationCommandInteractionData`: Unknown key "component_type"
discord/state.py:824:41: error[invalid-key] Unknown key "component_type" for TypedDict `UserApplicationCommandInteractionData`: Unknown key "component_type"
discord/state.py:824:41: error[invalid-key] Unknown key "component_type" for TypedDict `MessageApplicationCommandInteractionData`: Unknown key "component_type"
discord/state.py:824:41: error[invalid-key] Unknown key "component_type" for TypedDict `ModalSubmitInteractionData`: Unknown key "component_type"
discord/state.py:828:31: error[invalid-key] Unknown key "data" for TypedDict `PingInteraction`: Unknown key "data"
discord/state.py:829:36: error[invalid-key] Unknown key "custom_id" for TypedDict `ChatInputApplicationCommandInteractionData`: Unknown key "custom_id"
discord/state.py:829:36: error[invalid-key] Unknown key "custom_id" for TypedDict `UserApplicationCommandInteractionData`: Unknown key "custom_id"
discord/state.py:829:36: error[invalid-key] Unknown key "custom_id" for TypedDict `MessageApplicationCommandInteractionData`: Unknown key "custom_id"
discord/state.py:830:37: error[invalid-key] Unknown key "components" for TypedDict `ChatInputApplicationCommandInteractionData`: Unknown key "components"
discord/state.py:830:37: error[invalid-key] Unknown key "components" for TypedDict `UserApplicationCommandInteractionData`: Unknown key "components"
discord/state.py:830:37: error[invalid-key] Unknown key "components" for TypedDict `MessageApplicationCommandInteractionData`: Unknown key "components"
discord/state.py:830:37: error[invalid-key] Unknown key "components" for TypedDict `ButtonMessageComponentInteractionData`: Unknown key "components"
discord/state.py:830:37: error[invalid-key] Unknown key "components" for TypedDict `SelectMessageComponentInteractionData`: Unknown key "components"
discord/state.py:832:81: error[invalid-argument-type] Argument to bound method `dispatch_modal` is incorrect: Expected `ResolvedData`, found `Unknown | ResolvedData | dict[Unknown, Unknown]`
discord/state.py:1121:16: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/state.py:1121:32: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `User` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/state.py:1388:20: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/state.py:1388:36: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `User` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/sticker.py:230:38: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/sticker.py:232:20: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client]`, found `Any | None | ConnectionState[Client]`
discord/sticker.py:369:22: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/sticker.py:370:28: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client]`, found `Any | None | ConnectionState[Client]`
discord/sticker.py:420:37: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/sticker.py:420:37: warning[possibly-missing-attribute] Attribute `store_user` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/sticker.py:420:60: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `User & ~AlwaysFalsy` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/sticker.py:434:16: warning[possibly-missing-attribute] Attribute `_get_guild` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/sticker.py:489:43: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/sticker.py:490:29: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ConnectionState[Client]`, found `Any | None | ConnectionState[Client]`
discord/sticker.py:511:15: warning[possibly-missing-attribute] Attribute `http` may be missing on object of type `Any | None | ConnectionState[Client]`
discord/ui/modal.py:109:50: error[invalid-argument-type] Argument to class `Item` is incorrect: Expected `BaseView`, found `typing.Self`
discord/ui/modal.py:273:16: error[invalid-return-type] Return type does not match returned value: expected `Self@add_item`, found `Modal`
discord/ui/section.py:192:31: error[invalid-argument-type] Argument to bound method `append` is incorrect: Expected `Item[V@Section]`, found `(str & Item[object]) | Item[Any]`
discord/ui/view.py:324:16: error[invalid-return-type] Return type does not match returned value: expected `list[Item[Self@children]]`, found `list[Item[Self@__init__]]`
discord/utils.py:328:5: error[invalid-parameter-default] Default value of type `_MissingSentinel` is not assignable to annotated parameter type `Permissions`
discord/utils.py:329:5: error[invalid-parameter-default] Default value of type `_MissingSentinel` is not assignable to annotated parameter type `Snowflake`
discord/utils.py:330:5: error[invalid-parameter-default] Default value of type `_MissingSentinel` is not assignable to annotated parameter type `str`
discord/utils.py:331:5: error[invalid-parameter-default] Default value of type `_MissingSentinel` is not assignable to annotated parameter type `Iterable[str] | None`
discord/utils.py:333:5: error[invalid-parameter-default] Default value of type `_MissingSentinel` is not assignable to annotated parameter type `str`
discord/utils.py:724:26: error[invalid-await] `T@async_all | Awaitable[T@async_all]` is not awaitable
discord/utils.py:1224:8: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__qualname__`
discord/utils.py:1224:29: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__name__`
discord/utils.py:1226:25: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__qualname__`
discord/utils.py:1348:5: error[invalid-parameter-default] Default value of type `_MissingSentinel` is not assignable to annotated parameter type `Handler`
discord/utils.py:1349:5: error[invalid-parameter-default] Default value of type `_MissingSentinel` is not assignable to annotated parameter type `Formatter`
discord/utils.py:1350:5: error[invalid-parameter-default] Default value of type `_MissingSentinel` is not assignable to annotated parameter type `int`
discord/webhook/async_.py:751:20: error[missing-argument] No argument provided for required parameter `data` of function `store_user`
discord/webhook/async_.py:751:44: error[invalid-argument-type] Argument to function `store_user` is incorrect: Argument type `User | PartialUser` does not satisfy upper bound `ConnectionState[ClientT@ConnectionState]` of type variable `Self`
discord/webhook/async_.py:1042:16: error[invalid-return-type] Return type does not match returned value: expected `Guild | None`, found `(ConnectionState[Client] & ~AlwaysTruthy) | (_WebhookState & ~AlwaysTruthy) | Guild | None`
discord/webhook/sync.py:81:14: error[unresolved-import] Cannot resolve imported module `requests`
discord/webhook/sync.py:652:16: error[unresolved-import] Cannot resolve imported module `requests`
discord/webhook/sync.py:695:16: error[unresolved-import] Cannot resolve imported module `requests`
discord/welcome_screen.py:104:33: warning[possibly-missing-attribute] Attribute `name` may be missing on object of type `(Unknown & _EmojiTag) | PartialEmoji | Emoji | (str & _EmojiTag)`
discord/welcome_screen.py:217:16: error[invalid-return-type] Return type does not match returned value: expected `Self@edit`, found `WelcomeScreen`
Found 305 diagnostics

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
homeassistant/components/vivotek/camera.py:101: error: Returning Any from function declared to return "bytes | None" [no-any-return]
homeassistant/components/amcrest/camera.py:194: error: Returning Any from function declared to return "bytes | None" [no-any-return]
homeassistant/components/amcrest/camera.py:480: error: Unused "type: ignore" comment [unused-ignore]
homeassistant/components/amcrest/camera.py:482: error: Unused "type: ignore" comment [unused-ignore]
homeassistant/components/amcrest/camera.py:517: error: Returning Any from function declared to return "bool" [no-any-return]
homeassistant/components/amcrest/camera.py:538: error: Returning Any from function declared to return "bool" [no-any-return]
homeassistant/components/amcrest/camera.py:557: error: Returning Any from function declared to return "bool" [no-any-return]
homeassistant/components/amcrest/camera.py:570: error: Returning Any from function declared to return "bool" [no-any-return]
homeassistant/components/amcrest/camera.py:607: error: Returning Any from function declared to return "bool" [no-any-return]
homeassistant/components/amcrest/camera.py:628: error: Returning Any from function declared to return "str" [no-any-return]
homeassistant/components/amcrest/__init__.py:125: error: Class cannot subclass "ApiWrapper" (has type "Any") [misc]
homeassistant/components/amcrest/__init__.py:200: error: Returning Any from function declared to return "Response" [no-any-return]
Found 12 errors in 3 files (checked 8525 source files)
Warning: unused section(s) in mypy.ini: [mypy-tests.*]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
ERROR isort/_vendored/tomli/_re.py:7:5-41: Could not find import of `tomli._parser` [missing-import]
ERROR isort/api.py:162:17-82: `Path | str` is not assignable to variable `extension` with type `str | None` [bad-assignment]
ERROR isort/api.py:206:33-45: `file_content` may be uninitialized [unbound-name]
ERROR isort/api.py:215:23-32: Argument `str | None` is not assignable to parameter `extension` with type `str` in function `isort.core.process` [bad-argument-type]
ERROR isort/api.py:574:12-15: `key` may be uninitialized [unbound-name]
ERROR isort/api.py:574:20-23: `key` may be uninitialized [unbound-name]
ERROR isort/api.py:575:22-25: `key` may be uninitialized [unbound-name]
ERROR isort/core.py:86:41-48: Argument `tuple[None]` is not assignable to parameter `*iterables` with type `Iterable[str]` in function `itertools.chain.__new__` [bad-argument-type]
ERROR isort/core.py:126:54-61: Argument `tuple[None]` is not assignable to parameter `*iterables` with type `Iterable[str]` in function `itertools.chain.__new__` [bad-argument-type]
ERROR isort/output.py:45:20-51: Expected an iterable, got `tuple[Literal['FUTURE']] | tuple[str, ...]` [not-iterable]
ERROR isort/output.py:534:34-42: Argument `list[Unknown] | Unknown | None` is not assignable to parameter `comments` with type `Sequence[str]` in function `isort.wrap.import_statement` [bad-argument-type]
ERROR isort/output.py:544:34-42: Argument `list[Unknown] | Unknown | None` is not assignable to parameter `comments` with type `Sequence[str]` in function `isort.wrap.import_statement` [bad-argument-type]
ERROR isort/output.py:552:38-46: Argument `list[Unknown] | Unknown | None` is not assignable to parameter `comments` with type `Sequence[str]` in function `isort.wrap.import_statement` [bad-argument-type]
ERROR isort/place.py:104:31-50: Module `importlib.machinery` exists, but was not imported explicitly. You are relying on other modules to load it. [implicit-import]
ERROR isort/settings.py:495:40-61: `IMPORT_HEADING_PREFIX` may be uninitialized [unbound-name]
ERROR isort/settings.py:499:40-60: `IMPORT_FOOTER_PREFIX` may be uninitialized [unbound-name]
ERROR isort/settings.py:835:23-27: String literal used as condition. It's equivalent to `True` [redundant-condition]
ERROR isort/sorting.py:121:34-37: Expected a callable, got `None` [not-callable]
INFO Checking project configured at `<CWD>/pyrefly.toml`
INFO 18 errors (18 suppressed)

View File

@@ -0,0 +1,50 @@
<CWD>/isort/api.py
<CWD>/isort/api.py:206:33 - error: "file_content" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/api.py:574:12 - error: "key" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/format.py
<CWD>/isort/format.py:120:47 - error: "colorama" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/format.py:121:51 - error: "colorama" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/format.py:122:27 - error: "colorama" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/format.py:123:29 - error: "colorama" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/format.py:129:35 - error: "colorama" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/format.py:156:9 - error: "colorama" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/main.py
<CWD>/isort/main.py:542:32 - error: Cannot access attribute "__members__" for class "Enum"
  Attribute "__members__" is unknown (reportAttributeAccessIssue)
<CWD>/isort/main.py:543:50 - error: Cannot access attribute "__members__" for class "Enum"
  Attribute "__members__" is unknown (reportAttributeAccessIssue)
<CWD>/isort/main.py:949:46 - error: Object of type "Enum" is not callable
  Attribute "__call__" is unknown (reportCallIssue)
<CWD>/isort/main.py:951:46 - error: "__getitem__" method not defined on type "Enum" (reportIndexIssue)
<CWD>/isort/main.py:960:25 - error: Argument of type "Enum" cannot be assigned to parameter "class_or_tuple" of type "_ClassInfo" in function "isinstance"
  Type "Enum" is not assignable to type "_ClassInfo"
    "Enum" is not assignable to "type"
    "Enum" is not assignable to "UnionType"
    "Enum" is not assignable to "tuple[_ClassInfo, ...]" (reportArgumentType)
<CWD>/isort/output.py
<CWD>/isort/output.py:491:69 - error: "from_import" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/isort/output.py:534:34 - error: Argument of type "Any | list[Any] | None" cannot be assigned to parameter "comments" of type "Sequence[str]" in function "import_statement"
  Type "Any | list[Any] | None" is not assignable to type "Sequence[str]"
    "None" is not assignable to "Sequence[str]" (reportArgumentType)
<CWD>/isort/output.py:544:34 - error: Argument of type "Any | list[Any] | None" cannot be assigned to parameter "comments" of type "Sequence[str]" in function "import_statement"
  Type "Any | list[Any] | None" is not assignable to type "Sequence[str]"
    "None" is not assignable to "Sequence[str]" (reportArgumentType)
<CWD>/isort/output.py:552:38 - error: Argument of type "Any | list[Any] | None" cannot be assigned to parameter "comments" of type "Sequence[str]" in function "import_statement"
  Type "Any | list[Any] | None" is not assignable to type "Sequence[str]"
    "None" is not assignable to "Sequence[str]" (reportArgumentType)
<CWD>/isort/output.py:665:20 - error: No overloads for "__new__" match the provided arguments (reportCallIssue)
<CWD>/isort/output.py:665:36 - error: Argument of type "type[_LineWithComments]" cannot be assigned to parameter "cls" of type "type[Self@_LineWithComments]" in function "__new__"
  Type "type[_LineWithComments]" is not assignable to type "type[Self@_LineWithComments]" (reportArgumentType)
<CWD>/isort/place.py
<CWD>/isort/place.py:104:41 - error: "machinery" is not a known attribute of module "importlib" (reportAttributeAccessIssue)
<CWD>/isort/settings.py
<CWD>/isort/settings.py:711:16 - error: Type "((...) -> list[str]) | None" is not assignable to return type "(...) -> list[str]"
  Type "((...) -> list[str]) | None" is not assignable to type "(...) -> list[str]"
    Type "None" is not assignable to type "(...) -> list[str]" (reportReturnType)
<CWD>/isort/wrap.py
<CWD>/isort/wrap.py:16:24 - error: Variable not allowed in type expression (reportInvalidTypeForm)
<CWD>/isort/wrap_modes.py
<CWD>/isort/wrap_modes.py:13:33 - error: Variable not allowed in type expression (reportInvalidTypeForm)
<CWD>/isort/wrap_modes.py:14:52 - error: Object of type "Enum" is not callable
  Attribute "__call__" is unknown (reportCallIssue)
24 errors, 0 warnings, 0 informations

View File

@@ -0,0 +1,2 @@
Success: no issues found in 39 source files
Warning: unused section(s) in pyproject.toml: module = ['importlib_metadata.*', 'tests.*']

View File

@@ -0,0 +1,17 @@
isort/_vendored/tomli/_re.py:7:10: error[unresolved-import] Cannot resolve imported module `tomli._parser`
isort/core.py:86:27: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `Iterable[None]`, found `TextIO`
isort/core.py:126:40: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `Iterable[None]`, found `TextIO`
isort/output.py:534:25: error[invalid-argument-type] Argument to function `import_statement` is incorrect: Expected `Sequence[str]`, found `@Todo | None | list[Unknown]`
isort/output.py:544:25: error[invalid-argument-type] Argument to function `import_statement` is incorrect: Expected `Sequence[str]`, found `@Todo | None | list[Unknown]`
isort/output.py:552:29: error[invalid-argument-type] Argument to function `import_statement` is incorrect: Expected `Sequence[str]`, found `@Todo | None | list[Unknown]`
isort/place.py:104:31: error[unresolved-attribute] Module `importlib` has no member `machinery`
isort/settings.py:641:9: error[invalid-assignment] Property `_known_patterns` defined in `Self@known_patterns` is read-only
isort/settings.py:665:9: error[invalid-assignment] Property `_section_comments` defined in `Self@section_comments` is read-only
isort/settings.py:673:9: error[invalid-assignment] Property `_section_comments_end` defined in `Self@section_comments_end` is read-only
isort/settings.py:681:9: error[invalid-assignment] Property `_skips` defined in `Self@skips` is read-only
isort/settings.py:689:9: error[invalid-assignment] Property `_skip_globs` defined in `Self@skip_globs` is read-only
isort/settings.py:698:13: error[invalid-assignment] Property `_sorting_function` defined in `Self@sorting_function` is read-only
isort/settings.py:700:13: error[invalid-assignment] Property `_sorting_function` defined in `Self@sorting_function` is read-only
isort/settings.py:706:21: error[invalid-assignment] Property `_sorting_function` defined in `Self@sorting_function` is read-only
isort/wrap_modes.py:41:17: error[unresolved-attribute] Object of type `(...) -> str` has no attribute `__name__`
Found 16 diagnostics

View File

@@ -0,0 +1,67 @@
ERROR src/jinja2/async_utils.py:93:45-55: No matching overload found for function `iter` called with arguments: (AsyncIterable[V] | Iterable[V]) [no-matching-overload]
ERROR src/jinja2/compiler.py:221:9-19: Object of class `object` has no attribute `symbols` [missing-attribute]
ERROR src/jinja2/compiler.py:222:16-18: Returned type `object` is not assignable to declared return type `Self@Frame` [bad-return]
ERROR src/jinja2/compiler.py:1257:27-43: `loop_filter_func` may be uninitialized [unbound-name]
ERROR src/jinja2/compiler.py:1280:31-50: `iteration_indicator` may be uninitialized [unbound-name]
ERROR src/jinja2/compiler.py:1287:34-53: `iteration_indicator` may be uninitialized [unbound-name]
ERROR src/jinja2/compiler.py:1534:17-32: Object of class `Expr` has no attribute `append` [missing-attribute]
ERROR src/jinja2/debug.py:78:6-19: Function declared to return `TracebackType`, but one or more paths are missing an explicit `return` [bad-return]
ERROR src/jinja2/environment.py:352:14-21: Attribute `filters` cannot depend on type variable `V`, which is not in the scope of class `Environment` [invalid-type-var]
ERROR src/jinja2/environment.py:352:14-21: Attribute `filters` cannot depend on type variable `K`, which is not in the scope of class `Environment` [invalid-type-var]
ERROR src/jinja2/environment.py:352:14-21: Attribute `filters` cannot depend on type variable `_T`, which is not in the scope of class `Environment` [invalid-type-var]
ERROR src/jinja2/environment.py:435:9-21: Object of class `object` has no attribute `overlayed` [missing-attribute]
ERROR src/jinja2/environment.py:436:9-21: Object of class `object` has no attribute `linked_to` [missing-attribute]
ERROR src/jinja2/environment.py:443:13-21: Object of class `object` has no attribute `cache` [missing-attribute]
ERROR src/jinja2/environment.py:445:13-21: Object of class `object` has no attribute `cache` [missing-attribute]
ERROR src/jinja2/environment.py:447:9-22: Object of class `object` has no attribute `extensions` [missing-attribute]
ERROR src/jinja2/environment.py:449:13-26: Object of class `object` has no attribute `extensions` [missing-attribute]
ERROR src/jinja2/environment.py:449:45-47: Argument `object` is not assignable to parameter `environment` with type `Environment` in function `jinja2.ext.Extension.bind` [bad-argument-type]
ERROR src/jinja2/environment.py:451:13-26: Object of class `object` has no attribute `extensions` [missing-attribute]
ERROR src/jinja2/environment.py:451:50-52: Argument `object` is not assignable to parameter `environment` with type `Environment` in function `load_extensions` [bad-argument-type]
ERROR src/jinja2/environment.py:454:13-24: Object of class `object` has no attribute `is_async` [missing-attribute]
ERROR src/jinja2/environment.py:456:42-44: Argument `object` is not assignable to parameter `environment` with type `Self@Environment` in function `_environment_config_check` [bad-argument-type]
ERROR src/jinja2/environment.py:813:61-65: `expr` may be uninitialized [unbound-name]
ERROR src/jinja2/environment.py:894:17-25: `zip_file` may be uninitialized [unbound-name]
ERROR src/jinja2/environment.py:928:37-70: `in` is not supported between `str` and `None` [not-iterable]
ERROR src/jinja2/environment.py:1084:38-59: Argument `(Template & Undefined) | (Undefined & list[Template | str]) | str` is not assignable to parameter `name` with type `Template | str` in function `Environment.get_template` [bad-argument-type]
ERROR src/jinja2/environment.py:1251:23-42: `object` is not assignable to `Template` [bad-assignment]
ERROR src/jinja2/environment.py:1548:20-39: Instance-only attribute `__name__` of class `TemplateModule` is not visible on the class [missing-attribute]
ERROR src/jinja2/environment.py:1617:35-45: No matching overload found for function `typing.IO.writelines` called with arguments: (Generator[bytes, None, None] | Self@TemplateStream) [no-matching-overload]
ERROR src/jinja2/environment.py:1620:34-40: No matching overload found for function `typing.IO.write` called with arguments: (bytes | str) [no-matching-overload]
ERROR src/jinja2/exceptions.py:43:23-27: `Undefined | str | None` is not assignable to variable `message` with type `str | None` [bad-assignment]
ERROR src/jinja2/ext.py:30:67-70: Function declared to return `str` but is missing an explicit `return` [bad-return]
ERROR src/jinja2/ext.py:96:9-23: Object of class `object` has no attribute `environment` [missing-attribute]
ERROR src/jinja2/ext.py:97:16-18: Returned type `object` is not assignable to declared return type `Self@Extension` [bad-return]
ERROR src/jinja2/ext.py:258:36-50: Cannot set item in `dict[str, ((n: int = 5, html: bool = True, min: int = 20, max: int = 100) -> str) | type[Cycler] | type[Joiner] | type[Namespace] | type[dict] | type[range]]` [unsupported-operation]
ERROR src/jinja2/ext.py:318:40-320:10: No matching overload found for function `typing.MutableMapping.update` called with arguments: (gettext=((str) -> str) | ((...) -> str), ngettext=((str, str, int) -> str) | ((...) -> str), pgettext=((str, str) -> str) | ((...) -> str) | None, npgettext=((str, str, str, int) -> str) | ((...) -> str) | None) [no-matching-overload]
ERROR src/jinja2/filters.py:40:31-34: Function declared to return `str` but is missing an explicit `return` [bad-return]
ERROR src/jinja2/filters.py:120:13-21: Cannot set item in `list[None]` [unsupported-operation]
ERROR src/jinja2/filters.py:169:48-61: `dict_items[tuple[str, Any], Unknown]` is not assignable to `Iterable[tuple[str, Any]]` [bad-assignment]
ERROR src/jinja2/filters.py:308:22-56: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR src/jinja2/filters.py:730:34-38: `unit` may be uninitialized [unbound-name]
ERROR src/jinja2/filters.py:1352:9-25: `+=` is not supported between `V` and `V` [unsupported-operation]
ERROR src/jinja2/filters.py:1354:12-14: Returned type `V | Unknown` is not assignable to declared return type `V` [bad-return]
ERROR src/jinja2/idtracking.py:90:9-16: Object of class `object` has no attribute `refs` [missing-attribute]
ERROR src/jinja2/idtracking.py:91:9-17: Object of class `object` has no attribute `loads` [missing-attribute]
ERROR src/jinja2/idtracking.py:92:9-18: Object of class `object` has no attribute `stores` [missing-attribute]
ERROR src/jinja2/idtracking.py:93:16-18: Returned type `object` is not assignable to declared return type `Self@Symbols` [bad-return]
ERROR src/jinja2/lexer.py:816:31-51: Type of yielded value `tuple[Literal[1], str | tuple[str, ...], str]` is not assignable to declared return type `tuple[int, str, str]` [invalid-yield]
ERROR src/jinja2/loaders.py:143:32-38: `bucket` may be uninitialized [unbound-name]
ERROR src/jinja2/loaders.py:144:13-19: `bucket` may be uninitialized [unbound-name]
ERROR src/jinja2/loaders.py:145:28-34: `bucket` may be uninitialized [unbound-name]
ERROR src/jinja2/loaders.py:331:29-43: `str` is not assignable to attribute `_archive` with type `None` [bad-assignment]
ERROR src/jinja2/meta.py:79:30-40: Argument `tuple[type[Extends], type[FromImport], type[Import], type[Include]]` is not assignable to parameter `node_type` with type `tuple[type[Extends], ...] | type[Extends]` in function `jinja2.nodes.Node.find_all` [bad-argument-type]
ERROR src/jinja2/parser.py:160:29-31: Argument `object` is not assignable to parameter `self` with type `Node` in function `jinja2.nodes.Node.__init__` [bad-argument-type]
ERROR src/jinja2/parser.py:161:16-18: Returned type `object` is not assignable to declared return type `InternalName` [bad-return]
ERROR src/jinja2/parser.py:429:21-30: `Expr` is not assignable to attribute `call` with type `Call` [bad-assignment]
ERROR src/jinja2/parser.py:679:16-20: `node` may be uninitialized [unbound-name]
ERROR src/jinja2/parser.py:885:9-917:33: `Expr | None` is not assignable to `None` (caused by inconsistent types when breaking cycles) [bad-assignment]
ERROR src/jinja2/runtime.py:82:20-23: Argument `str` is not assignable to parameter `object` with type `LiteralString` in function `list.append` [bad-argument-type]
ERROR src/jinja2/runtime.py:144:2-22: Class `Mapping` has no class attribute `register` [missing-attribute]
ERROR src/jinja2/runtime.py:423:14-23: Attribute `_iterable` cannot depend on type variable `V`, which is not in the scope of class `LoopContext` [invalid-type-var]
ERROR src/jinja2/runtime.py:424:14-23: Attribute `_iterator` cannot depend on type variable `V`, which is not in the scope of class `LoopContext` [invalid-type-var]
ERROR src/jinja2/sandbox.py:244:33-43: Cannot set item in `dict[str, ((n: int = 5, html: bool = True, min: int = 20, max: int = 100) -> str) | type[Cycler] | type[Joiner] | type[Namespace] | type[dict] | type[range]]` [unsupported-operation]
ERROR src/jinja2/utils.py:271:16-39: `>` is not supported between `int` and `None` [unsupported-operation]
ERROR src/jinja2/utils.py:431:2-29: Class `MutableMapping` has no class attribute `register` [missing-attribute]
INFO Checking project configured at `<CWD>/pyrefly.toml`
INFO 65 errors (80 suppressed)

View File

@@ -0,0 +1,114 @@
<CWD>/src/jinja2/async_utils.py
<CWD>/src/jinja2/async_utils.py:91:25 - error: Cannot access attribute "__aiter__" for class "Iterable[V@auto_aiter]"
  Attribute "__aiter__" is unknown (reportAttributeAccessIssue)
<CWD>/src/jinja2/async_utils.py:93:41 - error: No overloads for "iter" match the provided arguments (reportCallIssue)
<CWD>/src/jinja2/async_utils.py:93:46 - error: Argument of type "AsyncIterable[V@auto_aiter] | Iterable[V@auto_aiter]" cannot be assigned to parameter "object" of type "_GetItemIterable[_T@iter]" in function "iter"
  Type "AsyncIterable[V@auto_aiter] | Iterable[V@auto_aiter]" is not assignable to type "_GetItemIterable[_T@iter]"
    "AsyncIterable[V@auto_aiter]" is incompatible with protocol "_GetItemIterable[_T@iter]"
      "__getitem__" is not present (reportArgumentType)
<CWD>/src/jinja2/compiler.py
<CWD>/src/jinja2/compiler.py:1257:27 - error: "loop_filter_func" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/compiler.py:1280:31 - error: "iteration_indicator" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/compiler.py:1287:34 - error: "iteration_indicator" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/compiler.py:1410:9 - error: Declaration "finalize" is obscured by a declaration of the same name (reportRedeclaration)
<CWD>/src/jinja2/compiler.py:1424:24 - error: Type "None" is not assignable to declared type "(value: Any) -> Any"
  Type "None" is not assignable to type "(value: Any) -> Any" (reportAssignmentType)
<CWD>/src/jinja2/debug.py
<CWD>/src/jinja2/debug.py:78:6 - error: Function with declared return type "TracebackType" must return value on all code paths
  "None" is not assignable to "TracebackType" (reportReturnType)
<CWD>/src/jinja2/environment.py
<CWD>/src/jinja2/environment.py:711:9 - error: Overload 1 for "compile" overlaps overload 2 and returns an incompatible type (reportOverlappingOverload)
<CWD>/src/jinja2/environment.py:823:9 - error: Parameter declaration "log_function" is obscured by a declaration of the same name (reportRedeclaration)
<CWD>/src/jinja2/environment.py:894:17 - error: "zip_file" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/environment.py:901:9 - error: Parameter declaration "filter_func" is obscured by a declaration of the same name (reportRedeclaration)
<CWD>/src/jinja2/environment.py:1617:17 - error: No overloads for "writelines" match the provided arguments (reportCallIssue)
<CWD>/src/jinja2/environment.py:1617:36 - error: Argument of type "Generator[bytes, None, None] | Self@TemplateStream" cannot be assigned to parameter "lines" of type "Iterable[bytes]" in function "writelines"
  Type "Generator[bytes, None, None] | TemplateStream*" is not assignable to type "Iterable[bytes]"
    "TemplateStream*" is incompatible with protocol "Iterable[bytes]"
      "__iter__" is an incompatible type
        Type "() -> TemplateStream" is not assignable to type "() -> Iterator[_T_co@Iterable]"
          Function return type "TemplateStream" is incompatible with type "Iterator[_T_co@Iterable]" (reportArgumentType)
<CWD>/src/jinja2/environment.py:1617:36 - error: Argument of type "Generator[bytes, None, None] | Self@TemplateStream" cannot be assigned to parameter "lines" of type "Iterable[ReadableBuffer]" in function "writelines"
  Type "Generator[bytes, None, None] | TemplateStream*" is not assignable to type "Iterable[ReadableBuffer]"
    "TemplateStream*" is incompatible with protocol "Iterable[ReadableBuffer]"
      "__iter__" is an incompatible type
        Type "() -> TemplateStream" is not assignable to type "() -> Iterator[_T_co@Iterable]"
          Function return type "TemplateStream" is incompatible with type "Iterator[_T_co@Iterable]" (reportArgumentType)
<CWD>/src/jinja2/environment.py:1620:21 - error: No overloads for "write" match the provided arguments (reportCallIssue)
<CWD>/src/jinja2/environment.py:1620:35 - error: Argument of type "bytes | str" cannot be assigned to parameter "s" of type "bytes" in function "write"
  Type "bytes | str" is not assignable to type "bytes"
    "str" is not assignable to "bytes" (reportArgumentType)
<CWD>/src/jinja2/environment.py:1620:35 - error: Argument of type "bytes | str" cannot be assigned to parameter "buffer" of type "ReadableBuffer" in function "write"
  Type "bytes | str" is not assignable to type "ReadableBuffer"
    "str" is incompatible with protocol "Buffer"
      "__buffer__" is not present (reportArgumentType)
<CWD>/src/jinja2/exceptions.py
<CWD>/src/jinja2/exceptions.py:45:14 - error: "message" incorrectly overrides property of same name in class "TemplateError" (reportIncompatibleMethodOverride)
<CWD>/src/jinja2/ext.py
<CWD>/src/jinja2/ext.py:30:67 - error: Function with declared return type "str" must return value on all code paths
  "None" is not assignable to "str" (reportReturnType)
<CWD>/src/jinja2/filters.py
<CWD>/src/jinja2/filters.py:40:31 - error: Function with declared return type "str" must return value on all code paths
  "None" is not assignable to "str" (reportReturnType)
<CWD>/src/jinja2/filters.py:120:13 - error: No overloads for "__setitem__" match the provided arguments (reportCallIssue)
<CWD>/src/jinja2/filters.py:120:13 - error: Argument of type "Any | Undefined" cannot be assigned to parameter "value" of type "None" in function "__setitem__"
  Type "Any | Undefined" is not assignable to type "None"
    "Undefined" is not assignable to "None" (reportArgumentType)
<CWD>/src/jinja2/filters.py:169:48 - error: Type "dict_items[str, Any] | dict_items[tuple[str, Any], Unknown]" is not assignable to declared type "Iterable[tuple[str, Any]]"
  Type "dict_items[str, Any] | dict_items[tuple[str, Any], Unknown]" is not assignable to type "Iterable[tuple[str, Any]]"
    "dict_items[tuple[str, Any], Unknown]" is not assignable to "Iterable[tuple[str, Any]]"
      Type parameter "_T_co@Iterable" is covariant, but "tuple[tuple[str, Any], Unknown]" is not a subtype of "tuple[str, Any]"
        "tuple[tuple[str, Any], Unknown]" is not assignable to "tuple[str, Any]"
          Tuple entry 1 is incorrect type (reportAssignmentType)
<CWD>/src/jinja2/filters.py:730:34 - error: "unit" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/filters.py:730:45 - error: "prefix" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/filters.py:803:19 - error: Object of type "None" cannot be used as iterable value (reportOptionalIterable)
<CWD>/src/jinja2/filters.py:905:12 - error: Operator ">=" not supported for "None" (reportOptionalOperand)
<CWD>/src/jinja2/filters.py:907:18 - error: Operator "+" not supported for types "int" and "int | None"
  Operator "+" not supported for types "int" and "None" (reportOperatorIssue)
<CWD>/src/jinja2/filters.py:1345:16 - error: Type "(Any) -> Any" is not assignable to declared type "(x: V@do_sum) -> V@do_sum"
  Type "(Any) -> Any" is not assignable to type "(x: V@do_sum) -> V@do_sum"
    Missing keyword parameter "x"
      Position-only parameter mismatch; parameter "x" is not position-only
      Position-only parameter mismatch; expected 1 but received 0 (reportAssignmentType)
<CWD>/src/jinja2/filters.py:1352:9 - error: Operator "+=" not supported for types "V@do_sum" and "V@do_sum"
  Operator "+" not supported for types "object*" and "object*" (reportOperatorIssue)
<CWD>/src/jinja2/filters.py:1730:16 - error: Type "(Any) -> Any" is not assignable to declared type "(item: Any) -> Any"
  Type "(Any) -> Any" is not assignable to type "(item: Any) -> Any"
    Missing keyword parameter "item"
      Position-only parameter mismatch; parameter "item" is not position-only
      Position-only parameter mismatch; expected 1 but received 0 (reportAssignmentType)
<CWD>/src/jinja2/filters.py:1759:21 - error: Type "(Any) -> Any" is not assignable to declared type "(x: V@transfunc) -> V@transfunc"
  Type "(Any) -> Any" is not assignable to type "(x: V@transfunc) -> V@transfunc"
    Missing keyword parameter "x"
      Position-only parameter mismatch; parameter "x" is not position-only
      Position-only parameter mismatch; expected 1 but received 0 (reportAssignmentType)
<CWD>/src/jinja2/loaders.py
<CWD>/src/jinja2/loaders.py:143:32 - error: "bucket" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/loaders.py:144:13 - error: "bucket" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/loaders.py:145:28 - error: "bucket" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/jinja2/loaders.py:374:9 - error: Declaration "up_to_date" is obscured by a declaration of the same name (reportRedeclaration)
<CWD>/src/jinja2/loaders.py:399:26 - error: Type "None" is not assignable to declared type "() -> bool"
  Type "None" is not assignable to type "() -> bool" (reportAssignmentType)
<CWD>/src/jinja2/nodes.py
<CWD>/src/jinja2/nodes.py:217:25 - error: Argument of type "Iterator[Node]" cannot be assigned to parameter "iterable" of type "Iterable[Self@Node]" in function "extend"
  "Iterator[Node]" is not assignable to "Iterable[Self@Node]"
    Type parameter "_T_co@Iterable" is covariant, but "Node" is not a subtype of "Self@Node"
      Type "Node" is not assignable to type "Self@Node" (reportArgumentType)
<CWD>/src/jinja2/nodes.py:228:25 - error: Argument of type "Iterator[Node]" cannot be assigned to parameter "iterable" of type "Iterable[Self@Node]" in function "extend"
  "Iterator[Node]" is not assignable to "Iterable[Self@Node]"
    Type parameter "_T_co@Iterable" is covariant, but "Node" is not a subtype of "Self@Node"
      Type "Node" is not assignable to type "Self@Node" (reportArgumentType)
<CWD>/src/jinja2/nodes.py:237:25 - error: Argument of type "Iterator[Node]" cannot be assigned to parameter "iterable" of type "Iterable[Self@Node]" in function "extend"
  "Iterator[Node]" is not assignable to "Iterable[Self@Node]"
    Type parameter "_T_co@Iterable" is covariant, but "Node" is not a subtype of "Self@Node"
      Type "Node" is not assignable to type "Self@Node" (reportArgumentType)
<CWD>/src/jinja2/runtime.py
<CWD>/src/jinja2/runtime.py:144:14 - error: Cannot access attribute "register" for class "type[Mapping[_KT@Mapping, _VT_co@Mapping]]"
  Attribute "register" is unknown (reportAttributeAccessIssue)
<CWD>/src/jinja2/utils.py
<CWD>/src/jinja2/utils.py:91:28 - warning: TypeVar "F" appears only once in generic function signature
  Use "(...) -> Any" instead (reportInvalidTypeVarUse)
<CWD>/src/jinja2/utils.py:431:21 - error: Cannot access attribute "register" for class "type[MutableMapping[_KT@MutableMapping, _VT@MutableMapping]]"
  Attribute "register" is unknown (reportAttributeAccessIssue)
44 errors, 1 warning, 0 informations

View File

@@ -0,0 +1,7 @@
src/jinja2/runtime.py:370: error: Unused "type: ignore" comment [unused-ignore]
src/jinja2/runtime.py:384: error: Unused "type: ignore" comment [unused-ignore]
src/jinja2/environment.py:1290: error: Unused "type: ignore" comment [unused-ignore]
src/jinja2/environment.py:1311: error: Unused "type: ignore" comment [unused-ignore]
src/jinja2/nativetypes.py:108: error: Unused "type: ignore" comment [unused-ignore]
src/jinja2/nativetypes.py:123: error: Unused "type: ignore" comment [unused-ignore]
Found 6 errors in 3 files (checked 25 source files)

View File

@@ -0,0 +1,24 @@
src/jinja2/async_utils.py:68:22: warning[redundant-cast] Value is already of type `Awaitable[V@auto_await]`
src/jinja2/async_utils.py:91:16: error[call-non-callable] Object of type `object` is not callable
src/jinja2/debug.py:78:6: error[invalid-return-type] Function can implicitly return `None`, which is not assignable to return type `TracebackType`
src/jinja2/defaults.py:24:19: error[escape-character-in-forward-annotation] Type expressions cannot contain escape characters
src/jinja2/environment.py:307:27: error[escape-character-in-forward-annotation] Type expressions cannot contain escape characters
src/jinja2/environment.py:399:27: error[escape-character-in-forward-annotation] Type expressions cannot contain escape characters
src/jinja2/environment.py:1177:27: error[escape-character-in-forward-annotation] Type expressions cannot contain escape characters
src/jinja2/environment.py:1617:17: error[no-matching-overload] No overload of bound method `writelines` matches arguments
src/jinja2/exceptions.py:43:23: error[invalid-assignment] Object of type `str | Undefined | None` is not assignable to `str | None`
src/jinja2/filters.py:169:48: error[invalid-assignment] Object of type `dict_items[object, object]` is not assignable to `Iterable[tuple[str, Any]]`
src/jinja2/filters.py:1352:9: error[unsupported-operator] Operator `+=` is unsupported between objects of type `V@do_sum` and `Any | V@do_sum`
src/jinja2/lexer.py:667:40: error[invalid-argument-type] Argument is incorrect: Expected `str`, found `str | int | Any`
src/jinja2/loaders.py:190:28: error[no-matching-overload] No overload of function `fspath` matches arguments
src/jinja2/loaders.py:639:25: error[no-matching-overload] No overload of function `fspath` matches arguments
src/jinja2/parser.py:429:9: error[invalid-assignment] Object of type `Expr` is not assignable to attribute `call` of type `Call`
src/jinja2/parser.py:1024:37: error[invalid-argument-type] Argument to bound method `extend` is incorrect: Expected `Iterable[Node]`, found `(Node & Top[list[Unknown]]) | list[Node]`
src/jinja2/runtime.py:144:2: error[unresolved-attribute] Class `Mapping` has no attribute `register`
src/jinja2/runtime.py:690:38: error[invalid-assignment] Object of type `(Unknown & ~(() -> object)) | bool | (((str | None, /) -> bool) & ~(() -> object))` is not assignable to `bool | None`
src/jinja2/runtime.py:770:40: error[invalid-argument-type] Argument to bound method `_invoke` is incorrect: Expected `bool`, found `@Todo | bool | None`
src/jinja2/runtime.py:948:14: error[invalid-return-type] Function always implicitly returns `None`, which is not assignable to return type `Never`
src/jinja2/utils.py:100:23: error[unresolved-attribute] Object of type `F@internalcode` has no attribute `__code__`
src/jinja2/utils.py:431:2: error[unresolved-attribute] Class `MutableMapping` has no attribute `register`
src/jinja2/utils.py:472:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `LRUCache`
Found 23 diagnostics

View File

@@ -0,0 +1,19 @@
ERROR pandas-stubs/core/arrays/categorical.pyi:114:9-21: Class member `Categorical.__contains__` overrides parent class `ExtensionArray` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/arrays/categorical.pyi:116:9-20: Class member `Categorical.__getitem__` overrides parent class `ExtensionArray` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/arrays/datetimelike.pyi:74:9-20: Class member `DatetimeLikeArrayMixin.__getitem__` overrides parent class `ExtensionArray` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/arrays/interval.pyi:64:9-20: Class member `IntervalArray.__getitem__` overrides parent class `ExtensionArray` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/arrays/sparse/array.pyi:64:9-20: Class member `SparseArray.__getitem__` overrides parent class `ExtensionArray` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/frame.pyi:185:9-20: Class member `_iLocIndexerFrame.__getitem__` overrides parent class `_iLocIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/frame.pyi:204:9-20: Class member `_iLocIndexerFrame.__setitem__` overrides parent class `_iLocIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/frame.pyi:229:9-20: Class member `_LocIndexerFrame.__getitem__` overrides parent class `_LocIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/frame.pyi:284:9-20: Class member `_LocIndexerFrame.__setitem__` overrides parent class `_LocIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/frame.pyi:320:9-20: Class member `_iAtIndexerFrame.__getitem__` overrides parent class `_iAtIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/frame.pyi:321:9-20: Class member `_iAtIndexerFrame.__setitem__` overrides parent class `_iAtIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/frame.pyi:328:9-20: Class member `_AtIndexerFrame.__getitem__` overrides parent class `_AtIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/frame.pyi:339:9-20: Class member `_AtIndexerFrame.__setitem__` overrides parent class `_AtIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/groupby/generic.pyi:452:9-20: Class member `DataFrameGroupBy.__getattr__` overrides parent class `GroupBy` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/series.pyi:272:9-20: Class member `_iLocIndexerSeries.__getitem__` overrides parent class `_iLocIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/series.pyi:281:9-20: Class member `_iLocIndexerSeries.__setitem__` overrides parent class `_iLocIndexer` in an inconsistent manner [bad-param-name-override]
ERROR pandas-stubs/core/series.pyi:318:9-20: Class member `_LocIndexerSeries.__setitem__` overrides parent class `_LocIndexer` in an inconsistent manner [bad-param-name-override]
INFO Checking project configured at `<CWD>/pyrefly.toml`
INFO 17 errors (108 suppressed)

View File

@@ -0,0 +1 @@
0 errors, 0 warnings, 0 informations

View File

@@ -0,0 +1 @@
Success: no issues found in 178 source files

View File

@@ -0,0 +1,9 @@
pandas-stubs/_typing.pyi:861:25: error[invalid-argument-type] Argument to class `ndarray` is incorrect: Expected `tuple[int, ...]`, found `typing.TypeVar`
pandas-stubs/_typing.pyi:861:44: error[invalid-argument-type] Argument to class `dtype` is incorrect: Expected `generic[Any]`, found `typing.TypeVar`
pandas-stubs/_typing.pyi:865:48: error[invalid-argument-type] Argument to class `dtype` is incorrect: Expected `generic[Any]`, found `typing.TypeVar`
pandas-stubs/_typing.pyi:877:53: error[invalid-argument-type] Argument to class `dtype` is incorrect: Expected `generic[Any]`, found `typing.TypeVar`
pandas-stubs/core/series.pyi:338:57: error[invalid-argument-type] Argument to class `IndexOpsMixin` is incorrect: Expected `str | bytes | int | ... omitted 12 union elements`, found `typing.TypeVar`
pandas-stubs/io/excel/_base.pyi:16:6: error[unresolved-import] Cannot resolve imported module `openpyxl.workbook.workbook`
pandas-stubs/io/excel/_base.pyi:20:6: error[unresolved-import] Cannot resolve imported module `xlrd.book`
Found 7 diagnostics
WARN Ignoring the `tool.ty` section in `<CWD>/pyproject.toml` because `<CWD>/ty.toml` takes precedence.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
Success: no issues found in 340 source files

View File

@@ -0,0 +1,946 @@
pandas/__init__.py:178:10: error[unresolved-import] Cannot resolve imported module `pandas._version_meson`
pandas/_testing/__init__.py:507:25: error[unresolved-attribute] Module `pandas.core` has no member `arrays`
pandas/_testing/__init__.py:509:25: error[unresolved-attribute] Module `pandas.core` has no member `arrays`
pandas/_version.py:44:5: error[unresolved-attribute] Unresolved attribute `VCS` on type `VersioneerConfig`.
pandas/_version.py:45:5: error[unresolved-attribute] Unresolved attribute `style` on type `VersioneerConfig`.
pandas/_version.py:46:5: error[unresolved-attribute] Unresolved attribute `tag_prefix` on type `VersioneerConfig`.
pandas/_version.py:47:5: error[unresolved-attribute] Unresolved attribute `parentdir_prefix` on type `VersioneerConfig`.
pandas/_version.py:48:5: error[unresolved-attribute] Unresolved attribute `versionfile_source` on type `VersioneerConfig`.
pandas/_version.py:49:5: error[unresolved-attribute] Unresolved attribute `verbose` on type `VersioneerConfig`.
pandas/_version.py:101:16: error[unresolved-attribute] Object of type `BaseException | None` has no attribute `errno`
pandas/_version.py:111:14: error[unresolved-attribute] Object of type `str` has no attribute `decode`
pandas/compat/__init__.py:50:5: error[unresolved-attribute] Unresolved attribute `__name__` on type `F@set_function_name`.
pandas/compat/__init__.py:51:5: error[unresolved-attribute] Unresolved attribute `__qualname__` on type `F@set_function_name`.
pandas/core/_numba/executor.py:48:22: error[not-iterable] Object of type `prange` is not iterable
pandas/core/_numba/executor.py:52:22: error[not-iterable] Object of type `prange` is not iterable
pandas/core/_numba/executor.py:78:22: error[not-iterable] Object of type `prange` is not iterable
pandas/core/_numba/executor.py:103:22: error[not-iterable] Object of type `prange` is not iterable
pandas/core/_numba/extensions.py:22:5: error[unresolved-import] Module `numba.core.extending` has no member `NativeValue`
pandas/core/_numba/extensions.py:23:5: error[unresolved-import] Module `numba.core.extending` has no member `box`
pandas/core/_numba/extensions.py:24:5: error[unresolved-import] Module `numba.core.extending` has no member `lower_builtin`
pandas/core/_numba/extensions.py:29:5: error[unresolved-import] Module `numba.core.extending` has no member `register_model`
pandas/core/_numba/extensions.py:31:5: error[unresolved-import] Module `numba.core.extending` has no member `typeof_impl`
pandas/core/_numba/extensions.py:32:5: error[unresolved-import] Module `numba.core.extending` has no member `unbox`
pandas/core/_numba/extensions.py:61:9: error[unresolved-attribute] Unresolved attribute `_numba_data` on type `Index`.
pandas/core/_numba/extensions.py:64:13: error[unresolved-attribute] Object of type `Index` has no attribute `_numba_data`
pandas/core/_numba/extensions.py:74:48: error[invalid-type-form] Variable of type `def any(iterable: Iterable[object], /) -> bool` is not allowed in a type expression
pandas/core/_numba/extensions.py:94:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `IndexType`
pandas/core/_numba/extensions.py:124:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `SeriesType`
pandas/core/_numba/extensions.py:299:67: error[unresolved-attribute] Module `numba` has no member `typed`
pandas/core/_numba/extensions.py:574:16: error[missing-argument] No argument provided for required parameter `obj` of bound method `__init__`
pandas/core/_numba/kernels/mean_.py:135:21: error[unresolved-reference] Name `num_consecutive_same_value` used when not defined
pandas/core/_numba/kernels/mean_.py:136:21: error[unresolved-reference] Name `prev_value` used when not defined
pandas/core/_numba/kernels/sum_.py:135:21: error[unresolved-reference] Name `num_consecutive_same_value` used when not defined
pandas/core/_numba/kernels/sum_.py:136:21: error[unresolved-reference] Name `prev_value` used when not defined
pandas/core/_numba/kernels/var_.py:144:21: error[unresolved-reference] Name `num_consecutive_same_value` used when not defined
pandas/core/_numba/kernels/var_.py:145:21: error[unresolved-reference] Name `prev_value` used when not defined
pandas/core/algorithms.py:214:16: error[invalid-return-type] Return type does not match returned value: expected `ArrayLikeT@_reconstruct_data`, found `ExtensionArray`
pandas/core/algorithms.py:469:16: warning[possibly-missing-attribute] Attribute `unique` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/algorithms.py:476:45: error[invalid-argument-type] Argument to function `_get_hashtable_algo` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `(ExtensionArray & ~Index) | (ndarray[tuple[Any, ...], dtype[Any]] & ~Index)`
pandas/core/algorithms.py:546:33: error[invalid-argument-type] Argument to bound method `isin` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | @Todo | ... omitted 4 union elements`
pandas/core/algorithms.py:551:30: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | @Todo | ... omitted 4 union elements`
pandas/core/algorithms.py:555:30: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | @Todo | ... omitted 4 union elements`
pandas/core/algorithms.py:556:34: warning[possibly-missing-attribute] Attribute `astype` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | @Todo | ... omitted 4 union elements`
pandas/core/algorithms.py:558:21: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | @Todo | ... omitted 4 union elements`
pandas/core/algorithms.py:586:38: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | @Todo | ... omitted 4 union elements`
pandas/core/algorithms.py:587:18: warning[possibly-missing-attribute] Attribute `astype` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | @Todo | ... omitted 4 union elements`
pandas/core/algorithms.py:591:27: error[invalid-argument-type] Argument to function `ismember` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | @Todo | ... omitted 5 union elements`
pandas/core/algorithms.py:855:33: error[invalid-argument-type] Argument to function `_reconstruct_data` is incorrect: Argument type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Any | Index | Series` does not satisfy constraints (`ExtensionArray`, `ndarray[tuple[Any, ...], dtype[Any]]`) of type variable `ArrayLikeT`
pandas/core/algorithms.py:930:54: error[invalid-argument-type] Argument to function `value_counts_arraylike` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/algorithms.py:1062:32: error[invalid-argument-type] Argument to function `_reconstruct_data` is incorrect: Argument type `Unknown | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | ... omitted 3 union elements` does not satisfy constraints (`ExtensionArray`, `ndarray[tuple[Any, ...], dtype[Any]]`) of type variable `ArrayLikeT`
pandas/core/algorithms.py:1368:33: warning[possibly-missing-attribute] Attribute `is_integer` may be missing on object of type `int | float | integer[Any] | floating[Any]`
pandas/core/apply.py:197:50: error[invalid-argument-type] Argument expression after ** must be a mapping type: Found `Unknown | None`
pandas/core/apply.py:379:57: error[invalid-argument-type] Argument to bound method `normalize_dictlike_arg` is incorrect: Expected `DataFrame | Series`, found `(Unknown & NDFrame) | Series | DataFrame | ... omitted 5 union elements`
pandas/core/apply.py:2000:49: error[invalid-argument-type] Argument to function `relabel_result` is incorrect: Expected `dict[str, list[((...) -> Unknown) | str]]`, found `((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]]`
pandas/core/array_algos/masked_accumulations.py:50:22: error[invalid-assignment] Object of type `iinfo[<class 'unsignedinteger[_8Bit]'>]` is not assignable to `iinfo[integer[Any]] | finfo[floating[Any]]`
pandas/core/array_algos/quantile.py:145:12: error[no-matching-overload] No overload of function `quantile` matches arguments
pandas/core/array_algos/quantile.py:218:16: error[no-matching-overload] No overload of function `quantile` matches arguments
pandas/core/array_algos/take.py:96:43: error[invalid-argument-type] Argument to function `maybe_promote` is incorrect: Expected `dtype[Any]`, found `ExtensionDtype | dtype[Any]`
pandas/core/array_algos/take.py:112:16: error[no-matching-overload] No overload of bound method `take` matches arguments
pandas/core/array_algos/take.py:303:16: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `Unknown | int | float`
pandas/core/array_algos/take.py:304:30: warning[possibly-missing-attribute] Attribute `astype` may be missing on object of type `Unknown | int | float`
pandas/core/array_algos/take.py:306:30: warning[possibly-missing-attribute] Attribute `astype` may be missing on object of type `Unknown | int | float`
pandas/core/arrays/_arrow_string_mixins.py:52:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_length`
pandas/core/arrays/_arrow_string_mixins.py:56:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_lower`
pandas/core/arrays/_arrow_string_mixins.py:59:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_upper`
pandas/core/arrays/_arrow_string_mixins.py:63:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_trim_whitespace`
pandas/core/arrays/_arrow_string_mixins.py:65:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_trim`
pandas/core/arrays/_arrow_string_mixins.py:70:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_ltrim_whitespace`
pandas/core/arrays/_arrow_string_mixins.py:72:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_ltrim`
pandas/core/arrays/_arrow_string_mixins.py:77:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_rtrim_whitespace`
pandas/core/arrays/_arrow_string_mixins.py:79:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_rtrim`
pandas/core/arrays/_arrow_string_mixins.py:89:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_lpad`
pandas/core/arrays/_arrow_string_mixins.py:91:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_rpad`
pandas/core/arrays/_arrow_string_mixins.py:105:34: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_center`
pandas/core/arrays/_arrow_string_mixins.py:115:19: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_length`
pandas/core/arrays/_arrow_string_mixins.py:117:29: error[unresolved-attribute] Module `pyarrow.compute` has no member `greater_equal`
pandas/core/arrays/_arrow_string_mixins.py:122:29: error[unresolved-attribute] Module `pyarrow.compute` has no member `greater`
pandas/core/arrays/_arrow_string_mixins.py:126:29: error[unresolved-attribute] Module `pyarrow.compute` has no member `invert`
pandas/core/arrays/_arrow_string_mixins.py:127:20: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_slice_codeunits`
pandas/core/arrays/_arrow_string_mixins.py:131:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/_arrow_string_mixins.py:146:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_slice_codeunits`
pandas/core/arrays/_arrow_string_mixins.py:159:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_replace_slice`
pandas/core/arrays/_arrow_string_mixins.py:184:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `replace_substring_regex`
pandas/core/arrays/_arrow_string_mixins.py:184:57: error[unresolved-attribute] Module `pyarrow.compute` has no member `replace_substring`
pandas/core/arrays/_arrow_string_mixins.py:197:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_capitalize`
pandas/core/arrays/_arrow_string_mixins.py:200:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_title`
pandas/core/arrays/_arrow_string_mixins.py:203:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_swapcase`
pandas/core/arrays/_arrow_string_mixins.py:206:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `starts_with`
pandas/core/arrays/_arrow_string_mixins.py:207:19: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_slice_codeunits`
pandas/core/arrays/_arrow_string_mixins.py:208:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/_arrow_string_mixins.py:212:21: error[unresolved-attribute] Module `pyarrow.compute` has no member `ends_with`
pandas/core/arrays/_arrow_string_mixins.py:213:19: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_slice_codeunits`
pandas/core/arrays/_arrow_string_mixins.py:214:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/_arrow_string_mixins.py:221:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `starts_with`
pandas/core/arrays/_arrow_string_mixins.py:226:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/_arrow_string_mixins.py:226:37: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_null`
pandas/core/arrays/_arrow_string_mixins.py:228:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `starts_with`
pandas/core/arrays/_arrow_string_mixins.py:231:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `or_`
pandas/core/arrays/_arrow_string_mixins.py:231:45: error[unresolved-attribute] Module `pyarrow.compute` has no member `starts_with`
pandas/core/arrays/_arrow_string_mixins.py:238:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `ends_with`
pandas/core/arrays/_arrow_string_mixins.py:243:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/_arrow_string_mixins.py:243:37: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_null`
pandas/core/arrays/_arrow_string_mixins.py:245:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `ends_with`
pandas/core/arrays/_arrow_string_mixins.py:248:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `or_`
pandas/core/arrays/_arrow_string_mixins.py:248:45: error[unresolved-attribute] Module `pyarrow.compute` has no member `ends_with`
pandas/core/arrays/_arrow_string_mixins.py:252:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_alnum`
pandas/core/arrays/_arrow_string_mixins.py:256:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_alpha`
pandas/core/arrays/_arrow_string_mixins.py:260:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `string_is_ascii`
pandas/core/arrays/_arrow_string_mixins.py:264:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_decimal`
pandas/core/arrays/_arrow_string_mixins.py:274:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_digit`
pandas/core/arrays/_arrow_string_mixins.py:278:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_lower`
pandas/core/arrays/_arrow_string_mixins.py:282:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_numeric`
pandas/core/arrays/_arrow_string_mixins.py:286:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_space`
pandas/core/arrays/_arrow_string_mixins.py:290:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_title`
pandas/core/arrays/_arrow_string_mixins.py:294:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_is_upper`
pandas/core/arrays/_arrow_string_mixins.py:309:27: error[unresolved-attribute] Module `pyarrow.compute` has no member `match_substring_regex`
pandas/core/arrays/_arrow_string_mixins.py:311:27: error[unresolved-attribute] Module `pyarrow.compute` has no member `match_substring`
pandas/core/arrays/_arrow_string_mixins.py:343:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `find_substring`
pandas/core/arrays/_arrow_string_mixins.py:355:32: error[unresolved-attribute] Module `pyarrow.compute` has no member `add`
pandas/core/arrays/_arrow_string_mixins.py:355:46: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_length`
pandas/core/arrays/_arrow_string_mixins.py:356:32: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/_arrow_string_mixins.py:356:43: error[unresolved-attribute] Module `pyarrow.compute` has no member `less`
pandas/core/arrays/_arrow_string_mixins.py:359:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_slice_codeunits`
pandas/core/arrays/_arrow_string_mixins.py:360:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `find_substring`
pandas/core/arrays/_arrow_string_mixins.py:361:21: error[unresolved-attribute] Module `pyarrow.compute` has no member `not_equal`
pandas/core/arrays/_arrow_string_mixins.py:362:29: error[unresolved-attribute] Module `pyarrow.compute` has no member `add`
pandas/core/arrays/_arrow_string_mixins.py:363:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/_mixins.py:135:20: error[invalid-return-type] Return type does not match returned value: expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[Any, ...], type]`
pandas/core/arrays/arrow/accessors.py:115:25: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_value_length`
pandas/core/arrays/arrow/accessors.py:163:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_element`
pandas/core/arrays/arrow/accessors.py:181:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_slice`
pandas/core/arrays/arrow/accessors.py:226:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_value_length`
pandas/core/arrays/arrow/accessors.py:227:21: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_flatten`
pandas/core/arrays/arrow/accessors.py:454:21: error[unresolved-attribute] Module `pyarrow.compute` has no member `struct_field`
pandas/core/arrays/arrow/array.py:97:15: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:98:15: error[unresolved-attribute] Module `pyarrow.compute` has no member `not_equal`
pandas/core/arrays/arrow/array.py:99:15: error[unresolved-attribute] Module `pyarrow.compute` has no member `less`
pandas/core/arrays/arrow/array.py:100:15: error[unresolved-attribute] Module `pyarrow.compute` has no member `greater`
pandas/core/arrays/arrow/array.py:101:15: error[unresolved-attribute] Module `pyarrow.compute` has no member `less_equal`
pandas/core/arrays/arrow/array.py:102:15: error[unresolved-attribute] Module `pyarrow.compute` has no member `greater_equal`
pandas/core/arrays/arrow/array.py:106:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `and_kleene`
pandas/core/arrays/arrow/array.py:107:31: error[unresolved-attribute] Module `pyarrow.compute` has no member `and_kleene`
pandas/core/arrays/arrow/array.py:108:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `or_kleene`
pandas/core/arrays/arrow/array.py:109:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `or_kleene`
pandas/core/arrays/arrow/array.py:110:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `xor`
pandas/core/arrays/arrow/array.py:111:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `xor`
pandas/core/arrays/arrow/array.py:115:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `bit_wise_and`
pandas/core/arrays/arrow/array.py:116:31: error[unresolved-attribute] Module `pyarrow.compute` has no member `bit_wise_and`
pandas/core/arrays/arrow/array.py:117:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `bit_wise_or`
pandas/core/arrays/arrow/array.py:118:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `bit_wise_or`
pandas/core/arrays/arrow/array.py:119:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `bit_wise_xor`
pandas/core/arrays/arrow/array.py:120:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `bit_wise_xor`
pandas/core/arrays/arrow/array.py:146:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `divide_checked`
pandas/core/arrays/arrow/array.py:149:33: error[unresolved-attribute] Module `pyarrow.compute` has no member `not_equal`
pandas/core/arrays/arrow/array.py:149:46: error[unresolved-attribute] Module `pyarrow.compute` has no member `multiply`
pandas/core/arrays/arrow/array.py:150:44: error[unresolved-attribute] Module `pyarrow.compute` has no member `less`
pandas/core/arrays/arrow/array.py:151:21: error[unresolved-attribute] Module `pyarrow.compute` has no member `bit_wise_xor`
pandas/core/arrays/arrow/array.py:154:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:155:21: error[unresolved-attribute] Module `pyarrow.compute` has no member `and_`
pandas/core/arrays/arrow/array.py:160:21: error[unresolved-attribute] Module `pyarrow.compute` has no member `subtract`
pandas/core/arrays/arrow/array.py:167:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `divide`
pandas/core/arrays/arrow/array.py:168:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `floor`
pandas/core/arrays/arrow/array.py:172:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `add_checked`
pandas/core/arrays/arrow/array.py:173:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `add_checked`
pandas/core/arrays/arrow/array.py:174:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `subtract_checked`
pandas/core/arrays/arrow/array.py:175:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `subtract_checked`
pandas/core/arrays/arrow/array.py:176:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `multiply_checked`
pandas/core/arrays/arrow/array.py:177:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `multiply_checked`
pandas/core/arrays/arrow/array.py:178:33: error[unresolved-attribute] Module `pyarrow.compute` has no member `divide`
pandas/core/arrays/arrow/array.py:179:34: error[unresolved-attribute] Module `pyarrow.compute` has no member `divide`
pandas/core/arrays/arrow/array.py:186:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `power_checked`
pandas/core/arrays/arrow/array.py:187:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `power_checked`
pandas/core/arrays/arrow/array.py:377:27: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:398:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:398:34: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:399:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:399:34: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:862:45: error[unresolved-attribute] Module `pyarrow.compute` has no member `bit_wise_not`
pandas/core/arrays/arrow/array.py:869:45: error[unresolved-attribute] Module `pyarrow.compute` has no member `invert`
pandas/core/arrays/arrow/array.py:873:45: error[unresolved-attribute] Module `pyarrow.compute` has no member `negate_checked`
pandas/core/arrays/arrow/array.py:883:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `abs_checked`
pandas/core/arrays/arrow/array.py:946:30: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:977:34: error[unresolved-attribute] Module `pyarrow.compute` has no member `binary_join_element_wise`
pandas/core/arrays/arrow/array.py:979:34: error[unresolved-attribute] Module `pyarrow.compute` has no member `binary_join_element_wise`
pandas/core/arrays/arrow/array.py:990:31: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:990:42: error[unresolved-attribute] Module `pyarrow.compute` has no member `less`
pandas/core/arrays/arrow/array.py:991:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `binary_repeat`
pandas/core/arrays/arrow/array.py:1002:27: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:1002:38: error[unresolved-attribute] Module `pyarrow.compute` has no member `less`
pandas/core/arrays/arrow/array.py:1003:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `binary_repeat`
pandas/core/arrays/arrow/array.py:1007:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_null`
pandas/core/arrays/arrow/array.py:1073:20: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_nan`
pandas/core/arrays/arrow/array.py:1074:19: error[unresolved-attribute] Module `pyarrow.compute` has no member `replace_with_mask`
pandas/core/arrays/arrow/array.py:1116:24: error[unresolved-attribute] Module `pyarrow.compute` has no member `any`
pandas/core/arrays/arrow/array.py:1116:31: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_nan`
pandas/core/arrays/arrow/array.py:1284:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `array_sort_indices`
pandas/core/arrays/arrow/array.py:1332:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `drop_null`
pandas/core/arrays/arrow/array.py:1350:25: error[unresolved-attribute] Module `pyarrow.compute` has no member `fill_null_forward`
pandas/core/arrays/arrow/array.py:1354:25: error[unresolved-attribute] Module `pyarrow.compute` has no member `fill_null_backward`
pandas/core/arrays/arrow/array.py:1366:16: error[invalid-return-type] Return type does not match returned value: expected `Self@_pad_or_backfill`, found `ArrowExtensionArray`
pandas/core/arrays/arrow/array.py:1381:20: error[invalid-return-type] Return type does not match returned value: expected `Self@fillna`, found `ArrowExtensionArray`
pandas/core/arrays/arrow/array.py:1409:16: error[invalid-return-type] Return type does not match returned value: expected `Self@fillna`, found `ArrowExtensionArray`
pandas/core/arrays/arrow/array.py:1416:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_in`
pandas/core/arrays/arrow/array.py:1502:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `round`
pandas/core/arrays/arrow/array.py:1749:22: error[unresolved-attribute] Object of type `ndarray[tuple[Any, ...], dtype[Any]]` has no attribute `to_numpy`
pandas/core/arrays/arrow/array.py:1766:21: error[unresolved-attribute] Module `pyarrow.compute` has no member `unique`
pandas/core/arrays/arrow/array.py:1920:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_null`
pandas/core/arrays/arrow/array.py:1921:16: error[unresolved-attribute] Module `pyarrow.compute` has no member `all`
pandas/core/arrays/arrow/array.py:1928:32: error[unresolved-attribute] Module `pyarrow.compute` has no member `fill_null_forward`
pandas/core/arrays/arrow/array.py:1929:32: error[unresolved-attribute] Module `pyarrow.compute` has no member `fill_null_backward`
pandas/core/arrays/arrow/array.py:1943:25: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:1990:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `not_equal`
pandas/core/arrays/arrow/array.py:2006:29: error[unresolved-attribute] Module `pyarrow.compute` has no member `stddev`
pandas/core/arrays/arrow/array.py:2007:31: error[unresolved-attribute] Module `pyarrow.compute` has no member `sqrt_checked`
pandas/core/arrays/arrow/array.py:2007:47: error[unresolved-attribute] Module `pyarrow.compute` has no member `count`
pandas/core/arrays/arrow/array.py:2008:24: error[unresolved-attribute] Module `pyarrow.compute` has no member `divide_checked`
pandas/core/arrays/arrow/array.py:2015:24: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_null`
pandas/core/arrays/arrow/array.py:2026:44: error[unresolved-attribute] Module `pyarrow.compute` has no member `invert`
pandas/core/arrays/arrow/array.py:2039:24: error[unresolved-attribute] Module `pyarrow.compute` has no member `binary_join`
pandas/core/arrays/arrow/array.py:2148:12: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_null`
pandas/core/arrays/arrow/array.py:2167:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_value_length`
pandas/core/arrays/arrow/array.py:2174:25: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:2179:43: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_flatten`
pandas/core/arrays/arrow/array.py:2295:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `rank`
pandas/core/arrays/arrow/array.py:2303:20: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_null`
pandas/core/arrays/arrow/array.py:2305:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:2308:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `rank`
pandas/core/arrays/arrow/array.py:2316:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `divide`
pandas/core/arrays/arrow/array.py:2316:32: error[unresolved-attribute] Module `pyarrow.compute` has no member `add`
pandas/core/arrays/arrow/array.py:2322:27: error[unresolved-attribute] Module `pyarrow.compute` has no member `max`
pandas/core/arrays/arrow/array.py:2324:27: error[unresolved-attribute] Module `pyarrow.compute` has no member `count`
pandas/core/arrays/arrow/array.py:2325:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `divide`
pandas/core/arrays/arrow/array.py:2376:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `quantile`
pandas/core/arrays/arrow/array.py:2380:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `floor`
pandas/core/arrays/arrow/array.py:2421:15: error[unresolved-attribute] Module `pyarrow.compute` has no member `value_counts`
pandas/core/arrays/arrow/array.py:2423:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:2423:43: error[unresolved-attribute] Module `pyarrow.compute` has no member `max`
pandas/core/arrays/arrow/array.py:2429:40: error[unresolved-attribute] Module `pyarrow.compute` has no member `array_sort_indices`
pandas/core/arrays/arrow/array.py:2468:24: error[unresolved-attribute] Module `pyarrow.compute` has no member `fill_null_backward`
pandas/core/arrays/arrow/array.py:2468:46: error[unresolved-attribute] Module `pyarrow.compute` has no member `pairwise_diff_checked`
pandas/core/arrays/arrow/array.py:2470:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `add_checked`
pandas/core/arrays/arrow/array.py:2470:51: error[unresolved-attribute] Module `pyarrow.compute` has no member `divide_checked`
pandas/core/arrays/arrow/array.py:2471:45: error[unresolved-attribute] Module `pyarrow.compute` has no member `coalesce`
pandas/core/arrays/arrow/array.py:2520:20: error[unresolved-attribute] Module `pyarrow.compute` has no member `if_else`
pandas/core/arrays/arrow/array.py:2572:20: error[unresolved-attribute] Module `pyarrow.compute` has no member `replace_with_mask`
pandas/core/arrays/arrow/array.py:2688:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `count_substring_regex`
pandas/core/arrays/arrow/array.py:2695:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `binary_repeat`
pandas/core/arrays/arrow/array.py:2705:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `binary_join`
pandas/core/arrays/arrow/array.py:2733:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `extract_regex`
pandas/core/arrays/arrow/array.py:2736:47: error[unresolved-attribute] Module `pyarrow.compute` has no member `struct_field`
pandas/core/arrays/arrow/array.py:2740:31: error[unresolved-attribute] Module `pyarrow.compute` has no member `struct_field`
pandas/core/arrays/arrow/array.py:2751:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `split_pattern`
pandas/core/arrays/arrow/array.py:2752:28: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_flatten`
pandas/core/arrays/arrow/array.py:2754:39: error[unresolved-attribute] Module `pyarrow.compute` has no member `array_sort_indices`
pandas/core/arrays/arrow/array.py:2755:19: error[unresolved-attribute] Module `pyarrow.compute` has no member `list_value_length`
pandas/core/arrays/arrow/array.py:2758:19: error[unresolved-attribute] Module `pyarrow.compute` has no member `index_in`
pandas/core/arrays/arrow/array.py:2802:26: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_split_whitespace`
pandas/core/arrays/arrow/array.py:2804:44: error[unresolved-attribute] Module `pyarrow.compute` has no member `split_pattern_regex`
pandas/core/arrays/arrow/array.py:2806:44: error[unresolved-attribute] Module `pyarrow.compute` has no member `split_pattern`
pandas/core/arrays/arrow/array.py:2814:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `utf8_split_whitespace`
pandas/core/arrays/arrow/array.py:2817:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `split_pattern`
pandas/core/arrays/arrow/array.py:2837:16: error[invalid-return-type] Return type does not match returned value: expected `Self@_str_zfill`, found `ArrowExtensionArray`
pandas/core/arrays/arrow/array.py:2929:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `year`
pandas/core/arrays/arrow/array.py:2934:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `day`
pandas/core/arrays/arrow/array.py:2939:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `day_of_week`
pandas/core/arrays/arrow/array.py:2947:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `day_of_year`
pandas/core/arrays/arrow/array.py:2954:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `hour`
pandas/core/arrays/arrow/array.py:2958:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `iso_calendar`
pandas/core/arrays/arrow/array.py:2963:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_leap_year`
pandas/core/arrays/arrow/array.py:2968:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:2968:27: error[unresolved-attribute] Module `pyarrow.compute` has no member `day`
pandas/core/arrays/arrow/array.py:2973:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:2974:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `days_between`
pandas/core/arrays/arrow/array.py:2975:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `floor_temporal`
pandas/core/arrays/arrow/array.py:2976:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `ceil_temporal`
pandas/core/arrays/arrow/array.py:2984:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `and_`
pandas/core/arrays/arrow/array.py:2985:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:2985:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `month`
pandas/core/arrays/arrow/array.py:2986:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:2986:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `day`
pandas/core/arrays/arrow/array.py:2992:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `and_`
pandas/core/arrays/arrow/array.py:2993:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:2993:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `month`
pandas/core/arrays/arrow/array.py:2994:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:2994:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `day`
pandas/core/arrays/arrow/array.py:3000:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:3001:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `floor_temporal`
pandas/core/arrays/arrow/array.py:3002:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `floor_temporal`
pandas/core/arrays/arrow/array.py:3008:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `equal`
pandas/core/arrays/arrow/array.py:3009:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `days_between`
pandas/core/arrays/arrow/array.py:3010:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `floor_temporal`
pandas/core/arrays/arrow/array.py:3011:17: error[unresolved-attribute] Module `pyarrow.compute` has no member `ceil_temporal`
pandas/core/arrays/arrow/array.py:3019:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `days_between`
pandas/core/arrays/arrow/array.py:3020:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `floor_temporal`
pandas/core/arrays/arrow/array.py:3021:13: error[unresolved-attribute] Module `pyarrow.compute` has no member `ceil_temporal`
pandas/core/arrays/arrow/array.py:3030:14: error[unresolved-attribute] Module `pyarrow.compute` has no member `microsecond`
pandas/core/arrays/arrow/array.py:3031:20: error[unresolved-attribute] Module `pyarrow.compute` has no member `multiply`
pandas/core/arrays/arrow/array.py:3031:32: error[unresolved-attribute] Module `pyarrow.compute` has no member `millisecond`
pandas/core/arrays/arrow/array.py:3032:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `add`
pandas/core/arrays/arrow/array.py:3037:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `minute`
pandas/core/arrays/arrow/array.py:3042:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `month`
pandas/core/arrays/arrow/array.py:3047:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `nanosecond`
pandas/core/arrays/arrow/array.py:3052:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `quarter`
pandas/core/arrays/arrow/array.py:3057:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `second`
pandas/core/arrays/arrow/array.py:3084:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `floor_temporal`
pandas/core/arrays/arrow/array.py:3088:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `strftime`
pandas/core/arrays/arrow/array.py:3156:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `strftime`
pandas/core/arrays/arrow/array.py:3162:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `strftime`
pandas/core/arrays/arrow/array.py:3197:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `local_timestamp`
pandas/core/arrays/arrow/array.py:3199:22: error[unresolved-attribute] Module `pyarrow.compute` has no member `assume_timezone`
pandas/core/arrays/arrow/extension_types.py:171:5: error[unresolved-attribute] Unresolved attribute `_hotfix_installed` on type `<module 'pyarrow'>`.
pandas/core/arrays/boolean.py:259:24: warning[possibly-missing-attribute] Attribute `shape` may be missing on object of type `@Todo | None`
pandas/core/arrays/boolean.py:262:12: error[invalid-return-type] Return type does not match returned value: expected `tuple[ndarray[tuple[Any, ...], dtype[Any]], ndarray[tuple[Any, ...], dtype[Any]]]`, found `tuple[@Todo, @Todo | None]`
pandas/core/arrays/categorical.py:494:25: warning[possibly-missing-attribute] Attribute `_codes` may be missing on object of type `Unknown | RangeIndex | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/arrays/categorical.py:1397:21: error[no-matching-overload] No overload of function `find_common_type` matches arguments
pandas/core/arrays/categorical.py:2567:16: error[invalid-return-type] Return type does not match returned value: expected `Self@unique`, found `Categorical`
pandas/core/arrays/datetimelike.py:565:18: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `(Unknown & ~str) | Period | Timestamp | Timedelta | NaTType`
pandas/core/arrays/datetimelike.py:1315:20: error[invalid-return-type] Return type does not match returned value: expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[int, ...], dtype[Any] | str]`
pandas/core/arrays/datetimelike.py:1582:16: error[invalid-return-type] Return type does not match returned value: expected `Self@_quantile`, found `DatetimeLikeArrayMixin`
pandas/core/arrays/datetimelike.py:2399:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `TimelikeOps`
pandas/core/arrays/datetimelike.py:2458:16: error[invalid-return-type] Return type does not match returned value: expected `Self@take`, found `TimelikeOps`
pandas/core/arrays/datetimelike.py:2476:36: error[invalid-argument-type] Argument to function `py_get_unit_from_dtype` is incorrect: Expected `dtype[Any]`, found `ExtensionDtype`
pandas/core/arrays/datetimes.py:483:62: warning[possibly-missing-attribute] Attribute `tz` may be missing on object of type `Timestamp | None`
pandas/core/arrays/datetimes.py:501:51: error[invalid-argument-type] Argument to bound method `tz_localize` is incorrect: Expected `bool | Literal["NaT", "raise"]`, found `Literal["NaT", "infer", "raise"] | @Todo`
pandas/core/arrays/datetimes.py:503:47: error[invalid-argument-type] Argument to bound method `tz_localize` is incorrect: Expected `bool | Literal["NaT", "raise"]`, found `Literal["NaT", "infer", "raise"] | @Todo`
pandas/core/arrays/datetimes.py:511:32: warning[possibly-missing-attribute] Attribute `_value` may be missing on object of type `Timestamp | None`
pandas/core/arrays/datetimes.py:511:45: warning[possibly-missing-attribute] Attribute `_value` may be missing on object of type `Timestamp | None`
pandas/core/arrays/datetimes.py:512:19: warning[possibly-missing-attribute] Attribute `_value` may be missing on object of type `Timestamp | None`
pandas/core/arrays/datetimes.py:523:34: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `integer[Any] | int | float | ... omitted 3 union elements`, found `Timestamp | None`
pandas/core/arrays/datetimes.py:524:32: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `integer[Any] | int | float | ... omitted 3 union elements`, found `Timestamp | None`
pandas/core/arrays/datetimes.py:561:45: error[invalid-argument-type] Argument to bound method `_from_value_and_reso` is incorrect: Expected `int`, found `datetime64[date | int | None]`
pandas/core/arrays/datetimes.py:590:21: error[invalid-type-form] Variable of type `property` is not allowed in a type expression
pandas/core/arrays/datetimes.py:639:25: error[invalid-type-form] Variable of type `property` is not allowed in a type expression
pandas/core/arrays/datetimes.py:2891:21: error[invalid-assignment] Object of type `Timestamp` is not assignable to `_TimestampNoneT1@_maybe_normalize_endpoints`
pandas/core/arrays/datetimes.py:2894:19: error[invalid-assignment] Object of type `Timestamp` is not assignable to `_TimestampNoneT2@_maybe_normalize_endpoints`
pandas/core/arrays/datetimes.py:2928:29: error[invalid-argument-type] Argument to bound method `tz_localize` is incorrect: Expected `bool | Literal["NaT", "raise"]`, found `Unknown | bool | None`
pandas/core/arrays/datetimes.py:2928:29: error[invalid-argument-type] Argument to bound method `tz_localize` is incorrect: Expected `Literal["NaT", "raise", "shift_backward", "shift_forward"] | timedelta`, found `Unknown | bool | None`
pandas/core/arrays/interval.py:293:17: error[invalid-argument-type] Argument to function `intervals_to_interval_bounds` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/arrays/interval.py:393:71: warning[possibly-missing-attribute] Attribute `tz` may be missing on object of type `Index | Unknown`
pandas/core/arrays/interval.py:396:37: warning[possibly-missing-attribute] Attribute `tz` may be missing on object of type `Index | Unknown`
pandas/core/arrays/interval.py:399:50: warning[possibly-missing-attribute] Attribute `unit` may be missing on object of type `(Index & ~PeriodIndex) | (Unknown & ~PeriodIndex)`
pandas/core/arrays/interval.py:399:63: warning[possibly-missing-attribute] Attribute `unit` may be missing on object of type `Index | Unknown`
pandas/core/arrays/interval.py:401:35: warning[possibly-missing-attribute] Attribute `_ensure_matching_resos` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Unknown`
pandas/core/arrays/interval.py:840:35: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Argument type `Unknown | ndarray[tuple[Any, ...], dtype[Any]]` does not satisfy constraints (`int`, `int | float`, `Timestamp`, `Timedelta`) of type variable `_OrderableT`
pandas/core/arrays/interval.py:840:35: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `int`, found `Unknown | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/arrays/interval.py:1001:16: error[invalid-return-type] Return type does not match returned value: expected `Interval[Unknown] | int | float`, found `Self@min`
pandas/core/arrays/interval.py:1018:16: error[invalid-return-type] Return type does not match returned value: expected `Interval[Unknown] | int | float`, found `Self@max`
pandas/core/arrays/interval.py:1801:50: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Argument type `Period | Timestamp | Timedelta | NaTType | ndarray[tuple[Any, ...], dtype[Any]]` does not satisfy constraints (`int`, `int | float`, `Timestamp`, `Timedelta`) of type variable `_OrderableT`
pandas/core/arrays/interval.py:1801:50: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `int`, found `Period | Timestamp | Timedelta | NaTType | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/arrays/masked.py:185:30: error[invalid-assignment] Object of type `ndarray[tuple[int, ...], type]` is not assignable to `ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/arrays/masked.py:441:16: error[invalid-return-type] Return type does not match returned value: expected `Self@ravel`, found `BaseMaskedArray`
pandas/core/arrays/masked.py:452:16: error[invalid-return-type] Return type does not match returned value: expected `Self@shift`, found `BaseMaskedArray`
pandas/core/arrays/masked.py:1424:16: error[invalid-return-type] Return type does not match returned value: expected `Self@_mode`, found `BaseMaskedArray`
pandas/core/arrays/numpy_.py:386:20: error[invalid-return-type] Return type does not match returned value: expected `Self@take`, found `NumpyExtensionArray`
pandas/core/arrays/numpy_.py:388:16: error[invalid-return-type] Return type does not match returned value: expected `Self@take`, found `NumpyExtensionArray`
pandas/core/arrays/period.py:829:20: error[unresolved-attribute] Object of type `BaseOffset` has no attribute `_period_dtype_code`
pandas/core/arrays/period.py:917:17: error[unresolved-attribute] Object of type `BaseOffset` has no attribute `_period_dtype_code`
pandas/core/arrays/period.py:933:16: error[invalid-return-type] Return type does not match returned value: expected `Self@asfreq`, found `PeriodArray`
pandas/core/arrays/period.py:1031:16: error[invalid-return-type] Return type does not match returned value: expected `Self@_addsub_int_array_or_scalar`, found `PeriodArray`
pandas/core/arrays/period.py:1102:16: error[invalid-return-type] Return type does not match returned value: expected `Self@_add_timedelta_arraylike`, found `PeriodArray`
pandas/core/arrays/period.py:1370:12: error[unresolved-attribute] Object of type `BaseOffset` has no attribute `_period_dtype_code`
pandas/core/arrays/period.py:1464:45: error[invalid-argument-type] Argument to function `freq_to_dtype_code` is incorrect: Expected `BaseOffset`, found `None`
pandas/core/arrays/period.py:1469:12: error[invalid-return-type] Return type does not match returned value: expected `tuple[ndarray[tuple[Any, ...], dtype[Any]], BaseOffset]`, found `tuple[@Todo, BaseOffset | Unknown | None]`
pandas/core/arrays/sparse/accessor.py:76:24: warning[possibly-missing-attribute] Attribute `array` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:240:13: error[invalid-argument-type] Argument to function `sparse_series_to_coo` is incorrect: Expected `Series`, found `Unknown | None`
pandas/core/arrays/sparse/accessor.py:271:13: warning[possibly-missing-attribute] Attribute `array` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:272:19: warning[possibly-missing-attribute] Attribute `index` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:273:18: warning[possibly-missing-attribute] Attribute `name` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:391:51: warning[possibly-missing-attribute] Attribute `items` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:392:16: warning[possibly-missing-attribute] Attribute `_constructor` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:393:25: warning[possibly-missing-attribute] Attribute `index` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:393:53: warning[possibly-missing-attribute] Attribute `columns` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:430:34: warning[possibly-missing-attribute] Attribute `dtypes` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:435:40: warning[possibly-missing-attribute] Attribute `items` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:446:67: warning[possibly-missing-attribute] Attribute `shape` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:464:62: warning[possibly-missing-attribute] Attribute `items` may be missing on object of type `Unknown | None`
pandas/core/arrays/sparse/accessor.py:465:16: error[invalid-return-type] Return type does not match returned value: expected `int | float`, found `floating[Any]`
pandas/core/arrays/sparse/array.py:790:16: error[invalid-return-type] Return type does not match returned value: expected `Self@isna`, found `SparseArray`
pandas/core/arrays/sparse/array.py:948:16: warning[possibly-missing-attribute] Attribute `any` may be missing on object of type `Unknown | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/arrays/sparse/array.py:1078:42: error[invalid-argument-type] Argument to function `maybe_box_datetimelike` is incorrect: Expected `str | bytes | date | ... omitted 10 union elements`, found `ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/arrays/sparse/array.py:1095:16: error[invalid-return-type] Return type does not match returned value: expected `Self@take`, found `SparseArray`
pandas/core/arrays/sparse/array.py:1393:16: error[invalid-return-type] Return type does not match returned value: expected `Self@map`, found `SparseArray`
pandas/core/arrays/string_.py:225:23: error[invalid-type-form] Invalid subscript of object of type `property` in type expression
pandas/core/arrays/string_.py:548:16: error[invalid-return-type] Return type does not match returned value: expected `Self@view`, found `BaseStringArray`
pandas/core/arrays/string_arrow.py:291:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_in`
pandas/core/arrays/string_arrow.py:446:18: error[unresolved-attribute] Module `pyarrow.compute` has no member `count_substring_regex`
pandas/core/arrays/string_arrow.py:493:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `is_null`
pandas/core/arrays/string_arrow.py:494:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `or_kleene`
pandas/core/arrays/string_arrow.py:494:41: error[unresolved-attribute] Module `pyarrow.compute` has no member `not_equal`
pandas/core/arrays/string_arrow.py:496:23: error[unresolved-attribute] Module `pyarrow.compute` has no member `not_equal`
pandas/core/arrays/timedeltas.py:157:28: error[no-matching-overload] No overload of function `__new__` matches arguments
pandas/core/arrays/timedeltas.py:188:47: error[invalid-argument-type] Argument to bound method `_from_value_and_reso` is incorrect: Expected `signedinteger[_64Bit]`, found `timedelta64[timedelta | int | None]`
pandas/core/arrays/timedeltas.py:250:46: error[invalid-argument-type] Argument to function `astype_overflowsafe` is incorrect: Expected `dtype[Any]`, found `(Unknown & ~AlwaysTruthy & ~None) | dtype[Any] | ExtensionDtype`
pandas/core/arrays/timedeltas.py:276:46: error[invalid-argument-type] Argument to function `astype_overflowsafe` is incorrect: Expected `dtype[Any]`, found `(Unknown & ~AlwaysTruthy & ~None) | dtype[Any] | ExtensionDtype`
pandas/core/arrays/timedeltas.py:1147:20: error[unresolved-attribute] Object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]` has no attribute `_mask`
pandas/core/arrays/timedeltas.py:1148:20: error[unresolved-attribute] Object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]` has no attribute `_data`
pandas/core/arrays/timedeltas.py:1152:42: error[invalid-argument-type] Argument to function `cast_from_unit_vectorized` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Unknown`
pandas/core/arrays/timedeltas.py:1158:35: error[invalid-argument-type] Argument to function `is_supported_dtype` is incorrect: Expected `dtype[Any]`, found `ExtensionDtype | dtype[Any]`
pandas/core/arrays/timedeltas.py:1160:45: error[invalid-argument-type] Argument to function `get_supported_dtype` is incorrect: Expected `dtype[Any]`, found `ExtensionDtype | dtype[Any]`
pandas/core/arrays/timedeltas.py:1161:40: error[invalid-argument-type] Argument to function `astype_overflowsafe` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/base.py:1265:20: error[call-non-callable] Object of type `object` is not callable
pandas/core/col.py:170:23: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__name__`
pandas/core/common.py:522:9: error[invalid-assignment] Invalid subscript assignment with key of type `object` and value of type `_T@pipe` on object of type `dict[str, Any]`
pandas/core/common.py:523:16: error[call-non-callable] Object of type `object` is not callable
pandas/core/computation/align.py:161:23: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Unknown | list[Unknown]`
pandas/core/computation/align.py:162:24: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Unknown | list[Unknown]`
pandas/core/computation/align.py:163:20: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Unknown | list[Unknown]`
pandas/core/computation/align.py:163:51: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Unknown | list[Unknown]`
pandas/core/computation/align.py:164:50: warning[possibly-missing-attribute] Attribute `value` may be missing on object of type `Unknown | list[Unknown]`
pandas/core/computation/align.py:165:31: warning[possibly-missing-attribute] Attribute `type` may be missing on object of type `Unknown | list[Unknown]`
pandas/core/computation/pytables.py:171:19: error[invalid-argument-type] Argument to bound method `ravel` is incorrect: Argument type `ndarray[tuple[object, ...], dtype[object]]` does not satisfy upper bound `ndarray[_ShapeT_co@ndarray, _DTypeT_co@ndarray]` of type variable `Self`
pandas/core/computation/pytables.py:624:30: warning[possibly-missing-attribute] Attribute `prune` may be missing on object of type `Unknown | None`
pandas/core/computation/pytables.py:631:27: warning[possibly-missing-attribute] Attribute `prune` may be missing on object of type `Unknown | None`
pandas/core/construction.py:585:51: error[invalid-argument-type] Argument to function `construct_1d_arraylike_from_scalar` is incorrect: Expected `str | bytes | date | ... omitted 10 union elements`, found `object`
pandas/core/construction.py:605:25: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `~ExtensionArray & ~<Protocol with members '__array__'>`
pandas/core/construction.py:658:21: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `~ExtensionArray & ~<Protocol with members '__array__'>`
pandas/core/dtypes/cast.py:197:23: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | Buffer | SupportsFloat | SupportsIndex`, found `str | bytes | date | ... omitted 12 union elements`
pandas/core/dtypes/cast.py:199:21: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | Buffer | SupportsInt | SupportsIndex | SupportsTrunc`, found `str | bytes | date | ... omitted 12 union elements`
pandas/core/dtypes/cast.py:344:23: error[unresolved-attribute] Object of type `ExtensionArray & ~ndarray[tuple[object, ...], dtype[object]]` has no attribute `iloc`
pandas/core/dtypes/cast.py:407:16: error[invalid-argument-type] Argument to bound method `astype` is incorrect: Expected `Index`, found `NumpyIndexT@maybe_upcast_numeric_to_64bit`
pandas/core/dtypes/cast.py:407:16: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/dtypes/cast.py:409:16: error[invalid-argument-type] Argument to bound method `astype` is incorrect: Expected `Index`, found `NumpyIndexT@maybe_upcast_numeric_to_64bit`
pandas/core/dtypes/cast.py:409:16: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/dtypes/cast.py:411:16: error[invalid-argument-type] Argument to bound method `astype` is incorrect: Expected `Index`, found `NumpyIndexT@maybe_upcast_numeric_to_64bit`
pandas/core/dtypes/cast.py:411:16: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/dtypes/cast.py:445:21: error[no-matching-overload] No overload of function `__new__` matches arguments
pandas/core/dtypes/cast.py:728:23: error[no-matching-overload] No overload of function `__new__` matches arguments
pandas/core/dtypes/cast.py:1527:26: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/dtypes/cast.py:1527:26: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/dtypes/dtypes.py:329:35: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `Unknown | None`
pandas/core/dtypes/dtypes.py:343:21: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `Unknown | None`
pandas/core/dtypes/dtypes.py:344:17: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `Unknown | None`
pandas/core/dtypes/dtypes.py:452:34: error[unresolved-attribute] Object of type `~None` has no attribute `dtype`
pandas/core/dtypes/dtypes.py:455:33: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `~None`
pandas/core/dtypes/dtypes.py:472:37: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `~None`
pandas/core/dtypes/dtypes.py:806:43: error[invalid-argument-type] Argument to function `tz_standardize` is incorrect: Expected `tzinfo`, found `tzinfo | None`
pandas/core/dtypes/dtypes.py:1363:39: error[invalid-type-form] Invalid subscript of object of type `property` in type expression
pandas/core/dtypes/dtypes.py:1398:23: error[invalid-type-form] Invalid subscript of object of type `property` in type expression
pandas/core/dtypes/dtypes.py:1548:23: error[invalid-type-form] Invalid subscript of object of type `property` in type expression
pandas/core/dtypes/inference.py:301:17: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `<Protocol with members '__len__'>`
pandas/core/dtypes/missing.py:392:12: error[unsupported-operator] Unary operator `~` is unsupported for type `~bool`
pandas/core/frame.py:894:56: error[invalid-argument-type] Argument to function `construct_1d_arraylike_from_scalar` is incorrect: Expected `str | bytes | date | ... omitted 10 union elements`, found `(@Todo & ~BlockManager & ~None & ~Top[dict[Unknown, Unknown]] & ~ndarray[tuple[object, ...], dtype[object]] & ~Series & ~Index & ~ExtensionArray) | (list[Unknown] & ~BlockManager & ~ndarray[tuple[object, ...], dtype[object]] & ~Series & ~Index & ~ExtensionArray)`
pandas/core/frame.py:900:21: error[invalid-argument-type] Argument to function `construct_2d_arraylike_from_scalar` is incorrect: Expected `str | bytes | date | ... omitted 10 union elements`, found `(@Todo & ~BlockManager & ~None & ~Top[dict[Unknown, Unknown]] & ~ndarray[tuple[object, ...], dtype[object]] & ~Series & ~Index & ~ExtensionArray) | (list[Unknown] & ~BlockManager & ~ndarray[tuple[object, ...], dtype[object]] & ~Series & ~Index & ~ExtensionArray)`
pandas/core/frame.py:2378:21: warning[possibly-missing-attribute] Attribute `get_loc` may be missing on object of type `None | Index`
pandas/core/frame.py:2399:23: warning[possibly-missing-attribute] Attribute `drop` may be missing on object of type `None | Index`
pandas/core/frame.py:2401:37: error[invalid-argument-type] Argument to function `arrays_to_mgr` is incorrect: Expected `Index`, found `None | Index`
pandas/core/frame.py:2541:20: error[unsupported-operator] Operator `in` is not supported for types `Hashable` and `None`, in comparing `Hashable` with `Unknown | None`
pandas/core/frame.py:2542:37: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/core/frame.py:2543:22: error[unsupported-operator] Operator `in` is not supported for types `int` and `None`, in comparing `int` with `Unknown | None`
pandas/core/frame.py:2544:37: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/core/frame.py:5232:32: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `Iterable[Unknown]`, found `Unknown | None | tuple[Unknown & ~None] | tuple[()]`
pandas/core/frame.py:5232:52: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `Iterable[Unknown]`, found `Unknown | None | tuple[Unknown & ~None] | tuple[()]`
pandas/core/frame.py:10299:23: error[invalid-assignment] Object of type `Top[list[Unknown]] & ~AlwaysFalsy` is not assignable to `list[Hashable]`
pandas/core/frame.py:10614:43: error[unresolved-attribute] Object of type `int` has no attribute `is_integer`
pandas/core/frame.py:10732:32: error[invalid-argument-type] Argument to function `frame_apply` is incorrect: Expected `((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]]`, found `Unknown | None`
pandas/core/frame.py:11024:22: error[unresolved-attribute] Object of type `object` has no attribute `apply`
pandas/core/frame.py:11426:20: error[invalid-return-type] Return type does not match returned value: expected `DataFrame`, found `Unknown | DataFrame | Series`
pandas/core/frame.py:11940:41: error[parameter-already-assigned] Multiple values provided for parameter `method` of bound method `corr`
pandas/core/frame.py:11940:56: error[invalid-argument-type] Argument to bound method `corr` is incorrect: Expected `int`, found `int | None`
pandas/core/frame.py:13843:22: error[no-matching-overload] No overload of bound method `quantile` matches arguments
pandas/core/generic.py:1070:55: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `Iterable[Unknown]`, found `(Mapping[Any, Hashable] & ~(() -> object)) | (((Any, /) -> Hashable) & ~(() -> object))`
pandas/core/generic.py:3564:31: error[no-matching-overload] No overload of bound method `pop` matches arguments
pandas/core/generic.py:3565:32: error[no-matching-overload] No overload of bound method `pop` matches arguments
pandas/core/generic.py:4217:24: error[invalid-return-type] Return type does not match returned value: expected `Self@xs`, found `Unknown | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/generic.py:4592:13: error[invalid-assignment] Object of type `Unknown | str` is not assignable to `int | Literal["columns", "index", "rows"]`
pandas/core/generic.py:6196:21: error[invalid-assignment] Cannot assign to a subscript on an object of type `Self@__setattr__`
pandas/core/generic.py:6523:16: warning[redundant-cast] Value is already of type `Self@astype`
pandas/core/generic.py:7154:25: error[invalid-assignment] Cannot assign to a subscript on an object of type `Self@fillna`
pandas/core/generic.py:7164:33: error[invalid-assignment] Cannot assign to a subscript on an object of type `Self@fillna`
pandas/core/generic.py:7571:26: warning[possibly-missing-attribute] Attribute `items` may be missing on object of type `Unknown | None | bool`
pandas/core/generic.py:7621:31: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/core/generic.py:7622:36: warning[possibly-missing-attribute] Attribute `keys` may be missing on object of type `Unknown | None`
pandas/core/generic.py:7636:65: warning[possibly-missing-attribute] Attribute `items` may be missing on object of type `Unknown | None`
pandas/core/generic.py:7646:43: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | None`
pandas/core/generic.py:7649:24: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | None`
pandas/core/generic.py:7652:42: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | None`
pandas/core/generic.py:7655:21: error[invalid-argument-type] Argument to bound method `replace_list` is incorrect: Expected `list[Any]`, found `Unknown | None`
pandas/core/generic.py:7655:21: error[invalid-argument-type] Argument to bound method `replace_list` is incorrect: Expected `list[Any]`, found `Unknown | None`
pandas/core/groupby/groupby.py:3510:16: error[invalid-return-type] Return type does not match returned value: expected `NDFrameT@GroupBy`, found `Unknown | DataFrame`
pandas/core/groupby/grouper.py:545:31: warning[possibly-missing-attribute] Attribute `categories` may be missing on object of type `(Unknown & ~ndarray[tuple[object, ...], dtype[object]]) | (Index & ~ndarray[tuple[object, ...], dtype[object]])`
pandas/core/groupby/grouper.py:546:50: error[invalid-argument-type] Argument to function `recode_for_groupby` is incorrect: Expected `Categorical`, found `(Unknown & ~ndarray[tuple[object, ...], dtype[object]]) | (Index & ~ndarray[tuple[object, ...], dtype[object]])`
pandas/core/groupby/grouper.py:623:26: warning[possibly-missing-attribute] Attribute `categories` may be missing on object of type `Unknown | Index | ndarray[tuple[Any, ...], dtype[Any]] | Categorical`
pandas/core/groupby/grouper.py:626:46: warning[possibly-missing-attribute] Attribute `codes` may be missing on object of type `Unknown | Index | ndarray[tuple[Any, ...], dtype[Any]] | Categorical`
pandas/core/groupby/grouper.py:635:27: warning[possibly-missing-attribute] Attribute `isna` may be missing on object of type `Unknown | Index | ndarray[tuple[Any, ...], dtype[Any]] | Categorical`
pandas/core/groupby/grouper.py:645:59: warning[possibly-missing-attribute] Attribute `codes` may be missing on object of type `Unknown | Index | ndarray[tuple[Any, ...], dtype[Any]] | Categorical`
pandas/core/groupby/grouper.py:649:62: warning[possibly-missing-attribute] Attribute `ordered` may be missing on object of type `Unknown | Index | ndarray[tuple[Any, ...], dtype[Any]] | Categorical`
pandas/core/groupby/grouper.py:651:21: warning[possibly-missing-attribute] Attribute `codes` may be missing on object of type `Unknown | Index | ndarray[tuple[Any, ...], dtype[Any]] | Categorical`
pandas/core/groupby/indexing.py:248:6: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/groupby/numba_.py:61:57: error[unresolved-attribute] Object of type `((...) -> Unknown) & (() -> object)` has no attribute `__name__`
pandas/core/groupby/numba_.py:116:18: error[not-iterable] Object of type `prange` is not iterable
pandas/core/groupby/numba_.py:118:22: error[not-iterable] Object of type `prange` is not iterable
pandas/core/groupby/numba_.py:176:18: error[not-iterable] Object of type `prange` is not iterable
pandas/core/groupby/numba_.py:178:22: error[not-iterable] Object of type `prange` is not iterable
pandas/core/indexes/base.py:428:11: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/indexes/base.py:440:24: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/indexes/base.py:441:23: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/indexes/base.py:545:33: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `(Unknown & ~range & ~<Protocol with members '__array__'>) | None`
pandas/core/indexes/base.py:562:29: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `(Unknown & ~range & ~<Protocol with members '__array__'> & ~Top[list[Unknown]] & ~tuple[object, ...]) | None`
pandas/core/indexes/base.py:1831:16: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | FrozenList | list[Unknown | None] | None`
pandas/core/indexes/base.py:1833:75: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | FrozenList | list[Unknown | None] | None`
pandas/core/indexes/base.py:1839:16: error[invalid-return-type] Return type does not match returned value: expected `list[Hashable]`, found `Unknown | FrozenList | list[Unknown | None] | None`
pandas/core/indexes/base.py:1874:16: error[invalid-return-type] Return type does not match returned value: expected `list[Hashable]`, found `(Top[list[Unknown]] & ~AlwaysFalsy) | list[Hashable] | list[Unknown | None] | list[Unknown | (Hashable & ~None)]`
pandas/core/indexes/base.py:2896:16: error[invalid-return-type] Return type does not match returned value: expected `Self@drop_duplicates`, found `Index`
pandas/core/indexes/base.py:3737:48: error[unresolved-attribute] Object of type `Index` has no attribute `codes`
pandas/core/indexes/base.py:3755:51: error[unresolved-attribute] Object of type `Index` has no attribute `categories`
pandas/core/indexes/base.py:3757:57: error[unresolved-attribute] Object of type `Index` has no attribute `codes`
pandas/core/indexes/base.py:3817:48: error[invalid-argument-type] Argument to bound method `get_indexer` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `Unknown | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/indexes/base.py:3817:48: error[invalid-argument-type] Argument to bound method `get_indexer` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `Unknown | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/indexes/base.py:5019:10: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/indexes/base.py:5299:23: error[unresolved-attribute] Object of type `~slice[object, object, object]` has no attribute `to_numpy`
pandas/core/indexes/base.py:5310:18: error[no-matching-overload] No overload of bound method `__getitem__` matches arguments
pandas/core/indexes/base.py:5310:18: error[no-matching-overload] No overload of bound method `__getitem__` matches arguments
pandas/core/indexes/base.py:6135:64: error[invalid-argument-type] Argument to bound method `get_indexer_non_unique` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `Unknown | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/indexes/base.py:6135:64: error[invalid-argument-type] Argument to bound method `get_indexer_non_unique` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `Unknown | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/indexes/base.py:6464:16: error[no-matching-overload] No overload of bound method `__init__` matches arguments
pandas/core/indexes/datetimelike.py:139:10: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/indexes/datetimelike.py:156:10: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/indexes/datetimelike.py:200:42: warning[possibly-missing-attribute] Attribute `asi8` may be missing on object of type `(Any & Index) | CategoricalIndex | DatetimeIndexOpsMixin`
pandas/core/indexes/datetimelike.py:527:10: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/indexes/datetimelike.py:756:16: error[invalid-return-type] Return type does not match returned value: expected `tuple[Self@_wrap_join_result, @Todo | None, @Todo | None]`, found `tuple[DatetimeTimedeltaMixin | Unknown, @Todo | None, @Todo | None]`
pandas/core/indexes/datetimelike.py:815:45: error[invalid-argument-type] Argument to bound method `is_on_offset` is incorrect: Expected `datetime`, found `Timestamp | NaTType | Timedelta`
pandas/core/indexes/datetimelike.py:823:16: error[invalid-return-type] Return type does not match returned value: expected `Self@delete`, found `DatetimeTimedeltaMixin`
pandas/core/indexes/datetimelike.py:855:13: error[invalid-assignment] Object of type `BaseOffset | None` is not assignable to attribute `_freq` on type `DatetimeArray | TimedeltaArray`
pandas/core/indexes/datetimes.py:609:29: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `integer[Any] | int | float | ... omitted 3 union elements`, found `Unknown | NaTType`
pandas/core/indexes/frozen.py:82:16: error[invalid-return-type] Return type does not match returned value: expected `Self@__radd__`, found `FrozenList`
pandas/core/indexes/frozen.py:92:16: error[invalid-return-type] Return type does not match returned value: expected `Self@__mul__`, found `FrozenList`
pandas/core/indexes/interval.py:670:43: warning[possibly-missing-attribute] Attribute `left` may be missing on object of type `Unknown | Index`
pandas/core/indexes/interval.py:671:44: warning[possibly-missing-attribute] Attribute `right` may be missing on object of type `Unknown | Index`
pandas/core/indexes/interval.py:686:50: warning[possibly-missing-attribute] Attribute `asi8` may be missing on object of type `(Unknown & ~Top[Interval[Unknown]]) | (Index & ~Top[Interval[Unknown]])`
pandas/core/indexes/interval.py:1375:36: error[invalid-argument-type] Argument to function `maybe_box_datetimelike` is incorrect: Expected `str | bytes | date | ... omitted 10 union elements`, found `Unknown | None`
pandas/core/indexes/interval.py:1376:34: error[invalid-argument-type] Argument to function `maybe_box_datetimelike` is incorrect: Expected `str | bytes | date | ... omitted 10 union elements`, found `Unknown | None`
pandas/core/indexes/interval.py:1397:20: error[no-matching-overload] No overload of function `to_offset` matches arguments
pandas/core/indexes/interval.py:1427:25: error[invalid-assignment] Object of type `object` is not assignable to `dtype[Any]`
pandas/core/indexes/interval.py:1435:46: error[unsupported-operator] Operator `*` is unsupported between objects of type `Unknown | None | Literal[1, "D"]` and `float`
pandas/core/indexes/interval.py:1440:32: error[unsupported-operator] Operator `-` is unsupported between objects of type `str | bytes | date | ... omitted 10 union elements` and `str | bytes | date | ... omitted 10 union elements`
pandas/core/indexes/multi.py:1393:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `MultiIndex`
pandas/core/indexes/multi.py:2256:40: error[unsupported-operator] Operator `>` is not supported for types `object` and `int`, in comparing `~None` with `Literal[0]`
pandas/core/indexes/multi.py:4484:9: error[no-matching-overload] No overload of function `tile` matches arguments
pandas/core/indexes/period.py:243:29: error[invalid-argument-type] Argument to function `period_array` is incorrect: Expected `Sequence[Period | str | None] | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | Series`, found `Unknown | None`
pandas/core/indexes/range.py:817:20: error[invalid-return-type] Return type does not match returned value: expected `Self@sort_values | tuple[Self@sort_values, ndarray[tuple[Any, ...], dtype[Any]] | RangeIndex]`, found `RangeIndex | tuple[RangeIndex, ndarray[tuple[Any, ...], dtype[Any]]]`
pandas/core/indexes/range.py:1289:27: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | Buffer | SupportsInt | SupportsIndex | SupportsTrunc`, found `~EllipsisType & ~slice[object, object, object]`
pandas/core/indexes/range.py:1305:23: error[unresolved-attribute] Object of type `~EllipsisType & ~slice[object, object, object]` has no attribute `to_numpy`
pandas/core/indexing.py:772:16: error[invalid-return-type] Return type does not match returned value: expected `Self@__call__`, found `_LocationIndexer`
pandas/core/indexing.py:1242:6: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/indexing.py:1430:24: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `object`
pandas/core/indexing.py:1447:45: error[unsupported-operator] Operator `>` is not supported for types `object` and `int`, in comparing `object` with `Literal[1]`
pandas/core/indexing.py:1593:6: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/indexing.py:1785:36: error[invalid-argument-type] Argument to bound method `_validate_integer` is incorrect: Expected `int | integer[Any]`, found `object`
pandas/core/indexing.py:2019:60: error[non-subscriptable] Cannot subscript object of type `Hashable` with no `__getitem__` method
pandas/core/indexing.py:2033:45: error[invalid-argument-type] Argument to bound method `_setitem_single_column` is incorrect: Expected `int`, found `Hashable`
pandas/core/indexing.py:2381:32: error[index-out-of-bounds] Index 1 is out of bounds for tuple `tuple[(Unknown & slice[object, object, object]) | (Unknown & ndarray[tuple[object, ...], dtype[object]]) | (Unknown & Top[list[Unknown]]) | (Unknown & Index)]` with length 1
pandas/core/indexing.py:2382:21: error[index-out-of-bounds] Index 1 is out of bounds for tuple `tuple[(Unknown & slice[object, object, object]) | (Unknown & ndarray[tuple[object, ...], dtype[object]]) | (Unknown & Top[list[Unknown]]) | (Unknown & Index)]` with length 1
pandas/core/indexing.py:2384:49: error[index-out-of-bounds] Index 1 is out of bounds for tuple `tuple[(Unknown & slice[object, object, object]) | (Unknown & ndarray[tuple[object, ...], dtype[object]]) | (Unknown & Top[list[Unknown]]) | (Unknown & Index)]` with length 1
pandas/core/indexing.py:2557:6: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/indexing.py:2607:6: error[invalid-argument-type] Argument to function `doc` is incorrect: Expected `None | str | ((...) -> Unknown)`, found `property`
pandas/core/internals/api.py:113:57: error[invalid-argument-type] Argument to function `extract_pandas_array` is incorrect: Expected `int`, found `Unknown | None`
pandas/core/internals/blocks.py:260:16: error[invalid-return-type] Return type does not match returned value: expected `Self@make_block_same_class`, found `Block`
pandas/core/internals/blocks.py:287:16: error[invalid-return-type] Return type does not match returned value: expected `Self@slice_block_columns`, found `Block`
pandas/core/internals/blocks.py:302:16: error[invalid-return-type] Return type does not match returned value: expected `Self@take_block_columns`, found `Block`
pandas/core/internals/blocks.py:315:16: error[invalid-return-type] Return type does not match returned value: expected `Self@getitem_block_columns`, found `Block`
pandas/core/internals/blocks.py:649:16: error[invalid-return-type] Return type does not match returned value: expected `Self@copy`, found `Block`
pandas/core/internals/blocks.py:2089:16: error[invalid-return-type] Return type does not match returned value: expected `Self@slice_block_rows`, found `ExtensionBlock`
pandas/core/internals/construction.py:286:39: error[invalid-argument-type] Argument to function `_check_values_indices_shape_match` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `Unknown | ndarray[tuple[Any, ...], dtype[Any]] | ExtensionArray`
pandas/core/internals/construction.py:1021:46: error[invalid-argument-type] Argument to function `maybe_cast_to_datetime` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]] | list[Unknown]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/core/internals/managers.py:235:13: error[unresolved-attribute] Object of type `Self@blknos` has no attribute `_rebuild_blknos_and_blklocs`
pandas/core/internals/managers.py:246:13: error[unresolved-attribute] Object of type `Self@blklocs` has no attribute `_rebuild_blknos_and_blklocs`
pandas/core/internals/managers.py:762:16: error[invalid-return-type] Return type does not match returned value: expected `Self@consolidate`, found `BaseBlockManager`
pandas/core/internals/managers.py:1225:17: error[invalid-assignment] Invalid subscript assignment with key of type `Unknown | BlockPlacement` and value of type `ndarray[tuple[Any, ...], dtype[Any]]` on object of type `list[Unknown | None]`
pandas/core/internals/managers.py:1695:16: error[invalid-return-type] Return type does not match returned value: expected `Self@quantile`, found `BlockManager`
pandas/core/internals/managers.py:2108:20: error[invalid-return-type] Return type does not match returned value: expected `Self@get_rows_with_mask`, found `SingleBlockManager`
pandas/core/internals/managers.py:2122:16: error[invalid-return-type] Return type does not match returned value: expected `Self@get_rows_with_mask`, found `SingleBlockManager`
pandas/core/missing.py:608:19: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Literal["linear", "nearest", "nearest-up", "slinear", "zero", ... omitted 4 literals] | int`, found `Unknown | None | (str & ~Literal["polynomial"])`
pandas/core/missing.py:613:28: error[unsupported-operator] Operator `<=` is not supported for types `None` and `int`, in comparing `Unknown | None` with `Literal[0]`
pandas/core/missing.py:617:51: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Literal[1, 2, 3, 4, 5]`, found `Unknown | None`
pandas/core/nanops.py:82:26: error[unresolved-attribute] Object of type `F@__call__` has no attribute `__name__`
pandas/core/nanops.py:106:32: error[unresolved-attribute] Object of type `F@__call__` has no attribute `__name__`
pandas/core/nanops.py:657:20: error[invalid-return-type] Return type does not match returned value: expected `ndarray[tuple[Any, ...], dtype[Any]] | datetime64[date | int | None] | timedelta64[timedelta | int | None] | NaTType`, found `signedinteger[_64Bit]`
pandas/core/nanops.py:908:12: error[invalid-return-type] Return type does not match returned value: expected `tuple[int | float | ndarray[tuple[Any, ...], dtype[Any]], int | float | ndarray[tuple[Any, ...], dtype[Any]]]`, found `tuple[floating[Any] | @Todo | int | float | ndarray[tuple[Any, ...], dtype[Any]], Unknown | int | float]`
pandas/core/nanops.py:1525:12: warning[possibly-missing-attribute] Attribute `astype` may be missing on object of type `@Todo | int`
pandas/core/nanops.py:1561:30: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/nanops.py:1561:30: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/nanops.py:1563:30: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/nanops.py:1563:30: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/ops/array_ops.py:340:44: error[invalid-argument-type] Argument to function `invalid_comparison` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | list[Unknown] | ... omitted 13 union elements`, found `~Top[list[Unknown]] | @Todo`
pandas/core/resample.py:442:45: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]]`, found `Unknown | None`
pandas/core/resample.py:2574:26: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | BaseOffset | _NoDefault`, found `Unknown | None`
pandas/core/resample.py:2574:26: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | BaseOffset | _NoDefault`, found `Unknown | None`
pandas/core/resample.py:2581:13: error[invalid-argument-type] Argument to function `_get_timestamp_range_edges` is incorrect: Expected `BaseOffset`, found `Unknown | None`
pandas/core/resample.py:2583:13: error[invalid-argument-type] Argument to function `_get_timestamp_range_edges` is incorrect: Expected `Literal["left", "right"]`, found `Unknown | Literal["left", "right"] | None`
pandas/core/resample.py:2637:12: warning[possibly-missing-attribute] Attribute `name` may be missing on object of type `Unknown | None`
pandas/core/resample.py:2637:52: warning[possibly-missing-attribute] Attribute `name` may be missing on object of type `Unknown | None`
pandas/core/resample.py:2757:21: warning[possibly-missing-attribute] Attribute `n` may be missing on object of type `Unknown | None`
pandas/core/resample.py:2772:17: error[invalid-argument-type] Argument to function `_get_period_range_edges` is incorrect: Expected `Literal["left", "right"]`, found `Unknown | Literal["left", "right"] | None`
pandas/core/resample.py:3147:12: error[invalid-return-type] Return type does not match returned value: expected `FreqIndexT@_asfreq_compat`, found `Unknown | DatetimeIndex | TimedeltaIndex`
pandas/core/reshape/concat.py:550:41: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `SupportsIndex`, found `Any | None | Literal[0]`
pandas/core/reshape/concat.py:550:47: error[unsupported-operator] Operator `+` is unsupported between objects of type `Any | None | Literal[0]` and `Literal[1]`
pandas/core/reshape/concat.py:802:17: error[invalid-argument-type] Method `__getitem__` of type `bound method Mapping[HashableT@_clean_keys_and_objs, Series | DataFrame].__getitem__(key: HashableT@_clean_keys_and_objs, /) -> Series | DataFrame` cannot be called with key of type `object` on object of type `Mapping[HashableT@_clean_keys_and_objs, Series | DataFrame]`
pandas/core/reshape/concat.py:843:16: warning[possibly-missing-attribute] Attribute `take` may be missing on object of type `(Unknown & ~None) | KeysView[object] | Index`
pandas/core/reshape/concat.py:848:12: error[invalid-return-type] Return type does not match returned value: expected `tuple[list[Series | DataFrame], Index | None, set[int]]`, found `tuple[list[Unknown], Unknown | KeysView[object] | Index, set[Unknown]]`
pandas/core/reshape/concat.py:948:16: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | None | list[Unknown | None]`
pandas/core/reshape/concat.py:949:26: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `Unknown | None | list[Unknown | None]`
pandas/core/reshape/concat.py:958:26: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `Unknown | None | list[Unknown | None]`
pandas/core/reshape/concat.py:969:22: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `Unknown | None | list[Unknown | None]`
pandas/core/reshape/merge.py:1649:25: warning[redundant-cast] Value is already of type `Hashable`
pandas/core/reshape/merge.py:1671:25: warning[redundant-cast] Value is already of type `Hashable`
pandas/core/reshape/merge.py:1954:16: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | (Hashable & ~None)`
pandas/core/reshape/merge.py:1954:33: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | (Hashable & ~None)`
pandas/core/reshape/merge.py:2434:41: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | None | list[Divergent]`
pandas/core/reshape/merge.py:2438:24: error[unsupported-operator] Operator `+` is unsupported between objects of type `Unknown | None | list[Divergent]` and `list[Unknown]`
pandas/core/reshape/merge.py:2920:32: error[invalid-argument-type] Argument to bound method `factorize` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[Any, ...], dtype[Any]] | Unknown | ExtensionArray`
pandas/core/reshape/merge.py:2922:48: error[invalid-argument-type] Argument to bound method `hash_inner_join` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[Any, ...], dtype[Any]] | Unknown | (ExtensionArray & ~BaseMaskedArray & ~ArrowExtensionArray)`
pandas/core/reshape/merge.py:2925:36: error[invalid-argument-type] Argument to bound method `factorize` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[Any, ...], dtype[Any]] | Unknown | (ExtensionArray & ~BaseMaskedArray & ~ArrowExtensionArray)`
pandas/core/reshape/merge.py:2927:32: error[invalid-argument-type] Argument to bound method `factorize` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[Any, ...], dtype[Any]] | Unknown | (ExtensionArray & ~BaseMaskedArray & ~ArrowExtensionArray)`
pandas/core/reshape/merge.py:2928:32: error[invalid-argument-type] Argument to bound method `factorize` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[Any, ...], dtype[Any]] | Unknown | ExtensionArray`
pandas/core/reshape/pivot.py:253:17: error[invalid-argument-type] Argument to function `__internal_pivot_table` is incorrect: Expected `((...) -> Unknown) | str | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]]`, found `object`
pandas/core/reshape/pivot.py:592:25: error[invalid-argument-type] Argument to bound method `from_tuples` is incorrect: Expected `Iterable[tuple[Hashable, ...]]`, found `list[Hashable]`
pandas/core/reshape/tile.py:542:18: error[no-matching-overload] No overload of function `take_nd` matches arguments
pandas/core/series.py:341:16: error[invalid-type-form] Invalid subscript of object of type `Accessor` in type expression
pandas/core/series.py:341:21: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:908:23: error[invalid-type-form] Invalid subscript of object of type `Accessor` in type expression
pandas/core/series.py:1432:27: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1444:17: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1445:23: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1453:10: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1458:37: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1460:17: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1461:23: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1476:37: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1477:17: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1478:23: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1486:10: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1559:17: error[call-non-callable] Object of type `object` is not callable
pandas/core/series.py:1570:15: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1574:10: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1579:17: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1581:15: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1590:17: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1592:15: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1596:10: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1603:17: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1604:15: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:1608:10: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:2835:43: error[unresolved-attribute] Object of type `int` has no attribute `is_integer`
pandas/core/series.py:4642:32: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]]`, found `(Unknown & ~None) | dict[str, Unknown]`
pandas/core/series.py:5073:20: error[no-matching-overload] No overload of bound method `_rename` matches arguments
pandas/core/series.py:5461:16: error[invalid-return-type] Return type does not match returned value: expected `Self@rename_axis | None`, found `Series | None`
pandas/core/series.py:5650:17: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:5652:30: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:5996:19: error[invalid-type-form] Invalid subscript of object of type `Accessor` in type expression
pandas/core/series.py:6471:15: error[invalid-type-form] Variable of type `Accessor` is not allowed in a type expression
pandas/core/series.py:6535:19: error[invalid-type-form] Invalid subscript of object of type `Accessor` in type expression
pandas/core/sorting.py:429:13: error[unknown-argument] Argument `ascending` does not match any known parameter of bound method `argsort`
pandas/core/sorting.py:431:13: error[unknown-argument] Argument `na_position` does not match any known parameter of bound method `argsort`
pandas/core/strings/accessor.py:134:21: error[unresolved-attribute] Object of type `F@forbid_nonstring_types` has no attribute `__name__`
pandas/core/strings/accessor.py:310:33: error[unresolved-attribute] Module `pyarrow` has no member `compute`
pandas/core/strings/accessor.py:311:27: error[unresolved-attribute] Module `pyarrow` has no member `compute`
pandas/core/strings/accessor.py:312:27: error[unresolved-attribute] Module `pyarrow` has no member `compute`
pandas/core/strings/accessor.py:321:25: error[unresolved-attribute] Module `pyarrow` has no member `compute`
pandas/core/strings/accessor.py:331:21: error[unresolved-attribute] Module `pyarrow` has no member `compute`
pandas/core/strings/accessor.py:396:30: warning[possibly-missing-attribute] Attribute `dtype` may be missing on object of type `(Unknown & <Protocol with members 'ndim'> & <Protocol with members 'dtype'>) | dict[Unknown, ArrowExtensionArray | Unknown] | list[Unknown]`
pandas/core/strings/accessor.py:1411:20: warning[possibly-missing-attribute] Attribute `flags` may be missing on object of type `str | Pattern[Unknown]`
pandas/core/strings/accessor.py:1426:33: warning[possibly-missing-attribute] Attribute `flags` may be missing on object of type `str | Pattern[Unknown] | Pattern[str]`
pandas/core/strings/accessor.py:1431:38: warning[possibly-missing-attribute] Attribute `flags` may be missing on object of type `str | Pattern[Unknown] | Pattern[str]`
pandas/core/tools/datetimes.py:393:35: error[invalid-argument-type] Argument to function `is_supported_dtype` is incorrect: Expected `dtype[Any]`, found `(Any & ~DatetimeTZDtype) | None`
pandas/core/tools/datetimes.py:1062:22: error[invalid-assignment] Object of type `bool` is not assignable to `Timestamp | NaTType | Series | Index`
pandas/core/util/hashing.py:314:16: error[no-matching-overload] No overload of bound method `astype` matches arguments
pandas/core/util/numba_.py:79:8: error[unresolved-attribute] Module `numba` has no member `extending`
pandas/core/util/numba_.py:82:22: error[unresolved-attribute] Object of type `(...) -> Unknown` has no attribute `__name__`
pandas/core/util/numba_.py:89:22: error[unresolved-attribute] Module `numba` has no member `extending`
pandas/core/window/ewm.py:913:38: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `BaseGrouper`, found `Unknown | None`
pandas/core/window/numba_.py:67:18: error[not-iterable] Object of type `prange` is not iterable
pandas/core/window/numba_.py:131:18: error[not-iterable] Object of type `prange` is not iterable
pandas/core/window/numba_.py:229:18: error[not-iterable] Object of type `prange` is not iterable
pandas/core/window/numba_.py:257:18: error[not-iterable] Object of type `prange` is not iterable
pandas/core/window/numba_.py:323:22: error[not-iterable] Object of type `prange` is not iterable
pandas/core/window/online.py:63:22: error[not-iterable] Object of type `prange` is not iterable
pandas/core/window/rolling.py:167:44: error[unsupported-operator] Operator `>` is not supported for types `int` and `None`, in comparing `(Unknown & ~None) | int` with `Unknown | None`
pandas/core/window/rolling.py:419:35: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `int`, found `(Unknown & ~BaseIndexer) | None`
pandas/core/window/rolling.py:1139:43: error[unsupported-operator] Operator `<` is not supported for types `None` and `int`, in comparing `(Unknown & ~BaseIndexer) | None` with `Literal[0]`
pandas/core/window/rolling.py:1288:45: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]]`, found `Unknown | None`
pandas/core/window/rolling.py:1291:22: error[call-non-callable] Object of type `None` is not callable
pandas/core/window/rolling.py:2018:45: error[unsupported-operator] Operator `<` is not supported for types `None` and `int`, in comparing `(Unknown & ~BaseIndexer) | None` with `Literal[0]`
pandas/core/window/rolling.py:3494:13: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `int | BaseIndexer`, found `(Unknown & BaseIndexer) | int | (Unknown & ~BaseIndexer) | None`
pandas/io/clipboard/__init__.py:121:18: error[unresolved-reference] Name `Foundation` used when not defined
pandas/io/clipboard/__init__.py:122:45: error[unresolved-reference] Name `Foundation` used when not defined
pandas/io/clipboard/__init__.py:123:17: error[unresolved-reference] Name `AppKit` used when not defined
pandas/io/clipboard/__init__.py:124:36: error[unresolved-reference] Name `AppKit` used when not defined
pandas/io/clipboard/__init__.py:125:41: error[unresolved-reference] Name `AppKit` used when not defined
pandas/io/clipboard/__init__.py:129:17: error[unresolved-reference] Name `AppKit` used when not defined
pandas/io/clipboard/__init__.py:130:40: error[unresolved-reference] Name `AppKit` used when not defined
pandas/io/clipboard/__init__.py:137:12: warning[unresolved-global] Invalid global declaration of `QApplication`: `QApplication` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:142:14: error[unresolved-import] Cannot resolve imported module `qtpy.QtWidgets`
pandas/io/clipboard/__init__.py:147:18: error[unresolved-import] Cannot resolve imported module `PyQt4.QtGui`
pandas/io/clipboard/__init__.py:155:14: warning[possibly-missing-attribute] Attribute `clipboard` may be missing on object of type `Unknown | QCoreApplication`
pandas/io/clipboard/__init__.py:159:14: warning[possibly-missing-attribute] Attribute `clipboard` may be missing on object of type `Unknown | QCoreApplication`
pandas/io/clipboard/__init__.py:330:15: error[unresolved-attribute] Object of type `Self@__call__` has no attribute `f`
pandas/io/clipboard/__init__.py:332:64: error[unresolved-attribute] Object of type `Self@__call__` has no attribute `f`
pandas/io/clipboard/__init__.py:336:17: error[unresolved-attribute] Object of type `Self@__setattr__` has no attribute `f`
pandas/io/clipboard/__init__.py:340:12: warning[unresolved-global] Invalid global declaration of `HGLOBAL`: `HGLOBAL` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:340:21: warning[unresolved-global] Invalid global declaration of `LPVOID`: `LPVOID` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:340:29: warning[unresolved-global] Invalid global declaration of `DWORD`: `DWORD` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:340:36: warning[unresolved-global] Invalid global declaration of `LPCSTR`: `LPCSTR` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:340:44: warning[unresolved-global] Invalid global declaration of `INT`: `INT` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:341:12: warning[unresolved-global] Invalid global declaration of `HWND`: `HWND` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:341:18: warning[unresolved-global] Invalid global declaration of `HINSTANCE`: `HINSTANCE` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:341:29: warning[unresolved-global] Invalid global declaration of `HMENU`: `HMENU` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:341:36: warning[unresolved-global] Invalid global declaration of `BOOL`: `BOOL` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:341:42: warning[unresolved-global] Invalid global declaration of `UINT`: `UINT` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:341:48: warning[unresolved-global] Invalid global declaration of `HANDLE`: `HANDLE` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:356:14: error[unresolved-attribute] Module `ctypes` has no member `windll`
pandas/io/clipboard/__init__.py:532:12: warning[unresolved-global] Invalid global declaration of `Foundation`: `Foundation` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:532:24: warning[unresolved-global] Invalid global declaration of `AppKit`: `AppKit` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:532:32: warning[unresolved-global] Invalid global declaration of `qtpy`: `qtpy` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:532:38: warning[unresolved-global] Invalid global declaration of `PyQt4`: `PyQt4` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:532:45: warning[unresolved-global] Invalid global declaration of `PyQt5`: `PyQt5` has no declarations or bindings in the global scope
pandas/io/clipboard/__init__.py:560:20: error[unresolved-import] Cannot resolve imported module `AppKit`
pandas/io/clipboard/__init__.py:561:20: error[unresolved-import] Cannot resolve imported module `Foundation`
pandas/io/clipboard/__init__.py:582:20: error[unresolved-import] Cannot resolve imported module `qtpy`
pandas/io/clipboard/__init__.py:589:28: error[unresolved-import] Cannot resolve imported module `PyQt4`
pandas/io/common.py:273:30: error[invalid-assignment] Object of type `object` is not assignable to `str | PathLike[str] | BaseBufferT@stringify_path`
pandas/io/common.py:274:12: error[no-matching-overload] No overload of function `_expand_user` matches arguments
pandas/io/common.py:770:26: error[no-matching-overload] No overload of bound method `__init__` matches arguments
pandas/io/common.py:802:29: warning[possibly-missing-attribute] Attribute `namelist` may be missing on object of type `Unknown | BytesIO | ZipFile`
pandas/io/common.py:804:30: warning[possibly-missing-attribute] Attribute `open` may be missing on object of type `Unknown | BytesIO | ZipFile`
pandas/io/common.py:829:25: warning[possibly-missing-attribute] Attribute `getnames` may be missing on object of type `Unknown | BytesIO | TarFile`
pandas/io/common.py:831:28: warning[possibly-missing-attribute] Attribute `extractfile` may be missing on object of type `Unknown | BytesIO | TarFile`
pandas/io/common.py:1027:9: warning[possibly-missing-attribute] Attribute `addfile` may be missing on object of type `Unknown | BytesIO | TarFile`
pandas/io/common.py:1057:23: warning[possibly-missing-attribute] Attribute `filename` may be missing on object of type `Unknown | BytesIO | ZipFile`
pandas/io/common.py:1058:29: warning[possibly-missing-attribute] Attribute `filename` may be missing on object of type `Unknown | BytesIO | ZipFile`
pandas/io/common.py:1067:9: warning[possibly-missing-attribute] Attribute `writestr` may be missing on object of type `Unknown | BytesIO | ZipFile`
pandas/io/common.py:1085:20: error[call-non-callable] Object of type `object` is not callable
pandas/io/common.py:1095:20: error[call-non-callable] Object of type `object` is not callable
pandas/io/common.py:1150:13: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `BaseBuffer`, found `mmap`
pandas/io/common.py:1161:12: error[invalid-return-type] Return type does not match returned value: expected `tuple[str | BaseBuffer, bool, list[BaseBuffer]]`, found `tuple[_IOWrapper, Literal[True], list[BaseBuffer | _IOWrapper]]`
pandas/io/excel/_base.py:493:13: error[invalid-argument-type] Argument to bound method `parse` is incorrect: Expected `str | int | list[int] | list[str] | None`, found `str | int | list[IntStrT@read_excel] | None`
pandas/io/excel/_base.py:496:13: error[invalid-argument-type] Argument to bound method `parse` is incorrect: Expected `int | Sequence[int] | None`, found `int | str | Sequence[int] | None`
pandas/io/excel/_base.py:520:12: error[invalid-return-type] Return type does not match returned value: expected `DataFrame | dict[IntStrT@read_excel, DataFrame]`, found `DataFrame | dict[str, DataFrame] | dict[int, DataFrame]`
pandas/io/excel/_base.py:574:17: error[call-non-callable] Object of type `object` is not callable
pandas/io/excel/_base.py:578:17: error[call-non-callable] Object of type `object` is not callable
pandas/io/excel/_base.py:844:21: error[unsupported-operator] Operator `+=` is unsupported between objects of type `object` and `int`
pandas/io/excel/_base.py:846:20: error[unsupported-operator] Operator `>` is not supported for types `object` and `int`
pandas/io/excel/_base.py:852:17: error[invalid-assignment] Invalid subscript assignment with key of type `object` and value of type `list[Hashable]` on object of type `list[Unknown]`
pandas/io/excel/_base.py:852:57: error[invalid-argument-type] Method `__getitem__` of type `Overload[(i: SupportsIndex, /) -> Unknown, (s: slice[Any, Any, Any], /) -> list[Unknown]]` cannot be called with key of type `object` on object of type `list[Unknown]`
pandas/io/excel/_base.py:855:54: error[invalid-argument-type] Method `__getitem__` of type `Overload[(i: SupportsIndex, /) -> Unknown, (s: slice[Any, Any, Any], /) -> list[Unknown]]` cannot be called with key of type `object` on object of type `list[Unknown]`
pandas/io/excel/_base.py:1366:16: error[invalid-return-type] Return type does not match returned value: expected `tuple[int | float | str | date, str | None]`, found `tuple[Unknown | int | float | Decimal | str, None | Unknown | str]`
pandas/io/excel/_odswriter.py:68:23: error[invalid-type-form] Variable of type `def OpenDocumentSpreadsheet() -> Unknown` is not allowed in a type expression
pandas/io/formats/excel.py:252:21: error[invalid-argument-type] Argument to function `remove_none` is incorrect: Expected `dict[str, str | None]`, found `dict[Unknown | str, Unknown | dict[str, bool | str | None] | dict[str, dict[str, str | None]] | dict[str, int | float | str | None] | dict[str, str | None]]`
pandas/io/formats/excel.py:253:16: error[invalid-return-type] Return type does not match returned value: expected `dict[str, dict[str, str]]`, found `dict[Unknown | str, Unknown | dict[str, bool | str | None] | dict[str, dict[str, str | None]] | dict[str, int | float | str | None] | dict[str, str | None]]`
pandas/io/formats/format.py:572:22: error[invalid-assignment] Object of type `(Sequence[str | int] & Top[Mapping[Unknown, object]] & ~int & ~str) | (Mapping[Hashable, str | int] & ~int & ~str)` is not assignable to `Mapping[Hashable, str | int]`
pandas/io/formats/format.py:1266:35: error[call-non-callable] Object of type `str` is not callable
pandas/io/formats/format.py:1729:18: error[unresolved-attribute] Object of type `Timedelta` has no attribute `_repr_base`
pandas/io/formats/info.py:462:44: error[invalid-argument-type] Argument to function `_get_dataframe_dtype_counts` is incorrect: Expected `DataFrame`, found `DataFrame | Series`
pandas/io/formats/info.py:474:16: error[invalid-return-type] Return type does not match returned value: expected `Iterable[ExtensionDtype | str | dtype[Any] | type]`, found `Unknown | dtype[Any] | ExtensionDtype`
pandas/io/formats/info.py:496:16: error[invalid-return-type] Return type does not match returned value: expected `Series`, found `Series | int`
pandas/io/formats/info.py:501:16: warning[possibly-missing-attribute] Attribute `sum` may be missing on object of type `Series | int`
pandas/io/formats/info.py:555:16: error[invalid-return-type] Return type does not match returned value: expected `list[int]`, found `list[int | Series]`
pandas/io/formats/info.py:577:16: error[invalid-return-type] Return type does not match returned value: expected `int`, found `Series | int`
pandas/io/formats/info.py:811:16: error[invalid-return-type] Return type does not match returned value: expected `DataFrame`, found `DataFrame | Series`
pandas/io/formats/info.py:816:16: error[unresolved-attribute] Object of type `_BaseInfo` has no attribute `ids`
pandas/io/formats/info.py:821:16: error[unresolved-attribute] Object of type `_BaseInfo` has no attribute `col_count`
pandas/io/formats/info.py:1034:16: error[invalid-return-type] Return type does not match returned value: expected `Series`, found `DataFrame | Series`
pandas/io/formats/printing.py:211:17: error[no-matching-overload] No overload of bound method `update` matches arguments
pandas/io/formats/printing.py:214:28: error[invalid-assignment] Object of type `list[object]` is not assignable to `Iterable[str] | None`
pandas/io/formats/printing.py:219:18: error[not-iterable] Object of type `Iterable[str] | None` may not be iterable
pandas/io/formats/printing.py:439:20: error[unsupported-operator] Operator `+` is unsupported between objects of type `Unknown | tuple[str, ...] | str` and `LiteralString`
pandas/io/formats/printing.py:448:20: error[unsupported-operator] Operator `+` is unsupported between objects of type `Unknown | tuple[str, ...] | str` and `LiteralString`
pandas/io/formats/printing.py:452:53: error[invalid-argument-type] Argument to function `_extend_line` is incorrect: Expected `str`, found `Unknown | tuple[str, ...] | str`
pandas/io/formats/style.py:2591:38: error[invalid-argument-type] Argument to bound method `set_table_styles` is incorrect: Expected `dict[Any, list[CSSDict]] | list[CSSDict] | None`, found `list[CSSDict] | list[Unknown | dict[Unknown | str, Unknown | str]] | list[Unknown]`
pandas/io/formats/style.py:2711:23: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/io/formats/style.py:2711:63: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/io/formats/style.py:2713:28: error[invalid-assignment] Object of type `list[dict[Unknown | str, Unknown | str | list[tuple[str, str | int | float]]] | Unknown]` is not assignable to `dict[Any, list[CSSDict]] | list[CSSDict] | None`
pandas/io/formats/style.py:2723:28: error[invalid-assignment] Object of type `list[dict[Unknown | str, Unknown | str | list[tuple[str, str | int | float]]] | Unknown]` is not assignable to `dict[Any, list[CSSDict]] | list[CSSDict] | None`
pandas/io/formats/style.py:2732:13: warning[possibly-missing-attribute] Attribute `extend` may be missing on object of type `(Unknown & ~None) | dict[Any, list[CSSDict]] | list[CSSDict]`
pandas/io/formats/style.py:2732:38: error[invalid-argument-type] Argument to bound method `extend` is incorrect: Expected `Iterable[CSSDict]`, found `dict[Any, list[CSSDict]] | list[CSSDict] | None`
pandas/io/formats/style.py:4022:41: error[invalid-argument-type] Argument to function `_validate_apply_axis_arg` is incorrect: Expected `NDFrame | Sequence[Unknown] | ndarray[tuple[Any, ...], dtype[Any]]`, found `bytes | (date & Iterable[object]) | (timedelta & Iterable[object]) | ... omitted 12 union elements`
pandas/io/formats/style.py:4025:42: error[invalid-argument-type] Argument to function `_validate_apply_axis_arg` is incorrect: Expected `NDFrame | Sequence[Unknown] | ndarray[tuple[Any, ...], dtype[Any]]`, found `bytes | (date & Iterable[object]) | (timedelta & Iterable[object]) | ... omitted 12 union elements`
pandas/io/formats/style.py:4234:20: error[invalid-assignment] Object of type `tuple[floating[Any], Literal["zero"]]` is not assignable to `int | float`
pandas/io/formats/style_render.py:1222:17: error[invalid-argument-type] Argument to function `_maybe_wrap_formatter` is incorrect: Expected `str | ((...) -> Unknown) | None`, found `object`
pandas/io/formats/style_render.py:1402:25: error[invalid-assignment] Object of type `dict[int | Unknown, object]` is not assignable to `str | ((...) -> Unknown) | dict[Any, str | ((...) -> Unknown) | None] | None`
pandas/io/formats/style_render.py:1409:17: warning[possibly-missing-attribute] Attribute `get` may be missing on object of type `dict[Any, str | ((...) -> Unknown) | None] | str | ((...) -> Unknown) | None`
pandas/io/formats/style_render.py:1697:25: error[invalid-assignment] Object of type `dict[int | Unknown, object]` is not assignable to `str | ((...) -> Unknown) | dict[Any, str | ((...) -> Unknown) | None] | None`
pandas/io/formats/style_render.py:1704:17: warning[possibly-missing-attribute] Attribute `get` may be missing on object of type `dict[Any, str | ((...) -> Unknown) | None] | str | ((...) -> Unknown) | None`
pandas/io/formats/style_render.py:1849:32: error[unresolved-reference] Name `last_label` used when not defined
pandas/io/formats/style_render.py:1855:33: error[unresolved-reference] Name `last_label` used when not defined
pandas/io/formats/style_render.py:1878:12: error[invalid-return-type] Return type does not match returned value: expected `list[CSSDict]`, found `list[dict[Unknown | str, Unknown | str | list[tuple[str, str | int | float]]] | Unknown]`
pandas/io/formats/xml.py:449:14: error[unresolved-import] Cannot resolve imported module `lxml.etree`
pandas/io/formats/xml.py:511:14: error[unresolved-import] Cannot resolve imported module `lxml.etree`
pandas/io/formats/xml.py:523:14: error[unresolved-import] Cannot resolve imported module `lxml.etree`
pandas/io/html.py:784:14: error[unresolved-import] Cannot resolve imported module `lxml.etree`
pandas/io/json/_json.py:792:19: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `JsonReader[FrameSeriesStrT@JsonReader]`, found `JsonReader[str]`
pandas/io/json/_json.py:1025:38: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ExtensionDtype | str | dtype[Any] | ... omitted 3 union elements`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1025:38: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `bool`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1025:38: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `bool | list[str]`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1025:38: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `bool`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1025:38: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `bool`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1025:38: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Literal["numpy_nullable", "pyarrow"] | _NoDefault`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1029:39: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `ExtensionDtype | str | dtype[Any] | ... omitted 3 union elements`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1029:39: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `bool`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1029:39: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `bool | list[str]`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1029:39: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `bool`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1029:39: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `bool`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1029:39: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Literal["numpy_nullable", "pyarrow"] | _NoDefault`, found `Unknown | bool | None | str | _NoDefault`
pandas/io/json/_json.py:1222:36: error[invalid-argument-type] Argument to bound method `get` is incorrect: Expected `Never`, found `Hashable`
pandas/io/json/_table_schema.py:311:36: warning[possibly-missing-attribute] Attribute `levels` may be missing on object of type `Unknown | Index`
pandas/io/parsers/arrow_parser_wrapper.py:184:30: error[unsupported-operator] Operator `+` is unsupported between objects of type `list[str | Unknown]` and `(Unknown & ~None) | range`
pandas/io/parsers/base_parser.py:489:39: error[no-matching-overload] No overload of function `maybe_convert_numeric` matches arguments
pandas/io/parsers/base_parser.py:529:33: error[no-matching-overload] No overload of function `maybe_convert_bool` matches arguments
pandas/io/parsers/base_parser.py:997:12: error[invalid-return-type] Return type does not match returned value: expected `SequenceT@evaluate_callable_usecols | set[int]`, found `(((Hashable, /) -> object) & ~(() -> object)) | (SequenceT@evaluate_callable_usecols & ~(() -> object))`
pandas/io/parsers/c_parser_wrapper.py:195:47: error[not-iterable] Object of type `Unknown | None | Sequence[Hashable]` may not be iterable
pandas/io/parsers/c_parser_wrapper.py:198:13: error[invalid-argument-type] Argument to bound method `_set_noconvert_dtype_columns` is incorrect: Expected `Sequence[Hashable]`, found `Unknown | None | Sequence[Hashable]`
pandas/io/parsers/c_parser_wrapper.py:217:52: error[invalid-argument-type] Argument to function `_concatenate_chunks` is incorrect: Expected `list[str]`, found `Unknown | None | Sequence[Hashable]`
pandas/io/parsers/c_parser_wrapper.py:240:57: error[invalid-argument-type] Argument to function `_filter_usecols` is incorrect: Argument type `list[Hashable] | MultiIndex` does not satisfy upper bound `Sequence[Hashable]` of type variable `SequenceT`
pandas/io/parsers/c_parser_wrapper.py:289:51: error[invalid-argument-type] Argument to function `_filter_usecols` is incorrect: Argument type `Unknown | None | Sequence[Hashable]` does not satisfy upper bound `Sequence[Hashable]` of type variable `SequenceT`
pandas/io/parsers/python_parser.py:142:13: error[invalid-assignment] Object of type `(ReadCsvBuffer[str] & Top[list[Unknown]]) | list[Unknown]` is not assignable to attribute `data` of type `Iterator[list[str]] | list[list[str | bytes | date | ... omitted 10 union elements]]`
pandas/io/parsers/python_parser.py:428:48: error[invalid-argument-type] Argument to function `isin` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | ... omitted 3 union elements`, found `Unknown | set[Unknown]`
pandas/io/parsers/python_parser.py:449:49: error[invalid-argument-type] Argument to function `map_infer_mask` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `Unknown | ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/io/parsers/python_parser.py:528:25: error[unknown-argument] Argument `true_values` does not match any known parameter of bound method `_from_sequence_of_strings`
pandas/io/parsers/python_parser.py:529:25: error[unknown-argument] Argument `false_values` does not match any known parameter of bound method `_from_sequence_of_strings`
pandas/io/parsers/python_parser.py:530:25: error[unknown-argument] Argument `none_values` does not match any known parameter of bound method `_from_sequence_of_strings`
pandas/io/parsers/python_parser.py:736:48: error[invalid-argument-type] Argument to bound method `_handle_usecols` is incorrect: Expected `list[list[str | bytes | date | ... omitted 11 union elements]]`, found `list[Unknown | list[int]]`
pandas/io/parsers/python_parser.py:736:57: error[invalid-argument-type] Argument to bound method `_handle_usecols` is incorrect: Expected `list[str | bytes | date | ... omitted 11 union elements]`, found `Unknown | list[int]`
pandas/io/parsers/readers.py:1574:41: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `(@Todo & ~Literal[False] & ~_NoDefault) | None`
pandas/io/pytables.py:483:8: error[unsupported-operator] Operator `<=` is not supported for types `None` and `None`, in comparing `Unknown | None | int` with `Unknown | None | int`
pandas/io/pytables.py:487:11: error[unsupported-operator] Operator `>` is not supported for types `None` and `int`, in comparing `Unknown | None | int` with `Literal[1]`
pandas/io/pytables.py:639:30: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/io/pytables.py:702:20: error[invalid-return-type] Return type does not match returned value: expected `list[str]`, found `list[Unknown | None | str]`
pandas/io/pytables.py:1941:55: error[invalid-argument-type] Argument to bound method `_create_storer` is incorrect: Expected `str`, found `Unknown | None`
pandas/io/pytables.py:2091:15: error[unsupported-operator] Operator `<` is not supported for types `None` and `None`, in comparing `Unknown | None | Literal[0]` with `Unknown | None | Literal[0]`
pandas/io/pytables.py:2092:24: error[unsupported-operator] Operator `+` is unsupported between objects of type `Unknown | None | Literal[0]` and `int | None`
pandas/io/pytables.py:2092:50: error[invalid-argument-type] Argument to function `min` is incorrect: Argument type `Unknown | None | Literal[0]` does not satisfy upper bound `SupportsDunderLT[Any] | SupportsDunderGT[Any]` of type variable `SupportsRichComparisonT`
pandas/io/pytables.py:2196:16: warning[possibly-missing-attribute] Attribute `itemsize` may be missing on object of type `Unknown | None`
pandas/io/pytables.py:2254:41: error[invalid-argument-type] Argument to function `_maybe_convert` is incorrect: Expected `str`, found `Unknown | None`
pandas/io/pytables.py:2312:16: warning[possibly-missing-attribute] Attribute `_v_attrs` may be missing on object of type `Unknown | None`
pandas/io/pytables.py:2316:16: warning[possibly-missing-attribute] Attribute `description` may be missing on object of type `Unknown | None`
pandas/io/pytables.py:2329:16: error[no-matching-overload] No overload of function `iter` matches arguments
pandas/io/pytables.py:2341:45: warning[possibly-missing-attribute] Attribute `itemsize` may be missing on object of type `Unknown | None`
pandas/io/pytables.py:2645:72: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `Unknown | None`
pandas/io/pytables.py:2700:12: warning[possibly-missing-attribute] Attribute `startswith` may be missing on object of type `(Unknown & ~None) | ExtensionDtype | str | ... omitted 3 union elements`
pandas/io/pytables.py:2702:48: error[invalid-argument-type] Argument to function `_set_tz` is incorrect: Expected `str`, found `(Unknown & ~None) | ExtensionDtype | str | ... omitted 3 union elements`
pandas/io/pytables.py:2749:17: error[invalid-argument-type] Argument to function `_unconvert_string_array` is incorrect: Expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `DatetimeArray | @Todo | ndarray[tuple[Any, ...], Unknown]`
pandas/io/pytables.py:2841:20: error[invalid-return-type] Return type does not match returned value: expected `tuple[int, int, int]`, found `tuple[int, ...]`
pandas/io/pytables.py:3118:35: error[invalid-argument-type] Argument to bound method `write_array` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | Series`, found `Unknown | None`
pandas/io/pytables.py:3146:41: error[invalid-argument-type] Argument to bound method `write_array` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | Series`, found `Unknown | None`
pandas/io/pytables.py:3184:16: error[non-subscriptable] Cannot subscript object of type `Node` with no `__getitem__` method
pandas/io/pytables.py:3289:45: error[invalid-argument-type] Argument to bound method `write_array_empty` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`, found `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]] | Index | Series | Unknown`
pandas/io/pytables.py:3333:41: error[invalid-argument-type] Argument to bound method `write_array_empty` is incorrect: Expected `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`, found `(ExtensionArray & ~BaseStringArray) | (ndarray[tuple[Any, ...], dtype[Any]] & ~BaseStringArray) | (Index & ~BaseStringArray) | (Series & ~BaseStringArray) | (Unknown & ~BaseStringArray)`
pandas/io/pytables.py:3635:16: error[invalid-return-type] Return type does not match returned value: expected `int`, found `signedinteger[_64Bit]`
pandas/io/pytables.py:3666:24: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | None`
pandas/io/pytables.py:3678:22: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `str | Buffer | SupportsInt | SupportsIndex | SupportsTrunc`, found `Unknown | None`
pandas/io/pytables.py:4135:13: error[invalid-argument-type] Method `__getitem__` of type `Overload[(i: SupportsIndex, /) -> Index, (s: slice[Any, Any, Any], /) -> list[Index]]` cannot be called with key of type `int | Unknown | None` on object of type `list[Index]`
pandas/io/pytables.py:4136:40: error[invalid-argument-type] Argument to bound method `_get_axis_name` is incorrect: Expected `int | Literal["columns", "index", "rows"]`, found `int | Unknown | None`
pandas/io/pytables.py:4824:26: error[no-matching-overload] No overload of bound method `reshape` matches arguments
pandas/io/pytables.py:4824:26: error[no-matching-overload] No overload of bound method `reshape` matches arguments
pandas/io/pytables.py:5205:19: warning[possibly-missing-attribute] Attribute `to_numpy` may be missing on object of type `ExtensionArray | ndarray[tuple[Any, ...], dtype[Any]]`
pandas/io/sas/sas7bdat.py:519:63: error[invalid-argument-type] Argument to bound method `_convert_header_text` is incorrect: Expected `bytes`, found `Unknown | str | bytes`
pandas/io/sql.py:1036:20: warning[possibly-missing-attribute] Attribute `copy` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1045:38: warning[possibly-missing-attribute] Attribute `columns` may be missing on object of type `Unknown | DataFrame | None`
pandas/io/sql.py:1051:38: warning[possibly-missing-attribute] Attribute `items` may be missing on object of type `Unknown | DataFrame | None`
pandas/io/sql.py:1100:21: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | None | DataFrame`
pandas/io/sql.py:1217:23: warning[possibly-missing-attribute] Attribute `index` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1231:36: warning[possibly-missing-attribute] Attribute `columns` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1232:21: warning[possibly-missing-attribute] Attribute `index` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1236:47: warning[possibly-missing-attribute] Attribute `index` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1250:41: warning[possibly-missing-attribute] Attribute `index` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1254:18: warning[possibly-missing-attribute] Attribute `columns` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1254:55: warning[possibly-missing-attribute] Attribute `iloc` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1255:32: warning[possibly-missing-attribute] Attribute `columns` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:1311:26: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/io/sql.py:1320:21: error[invalid-assignment] Cannot assign to a subscript on an object of type `None`
pandas/io/sql.py:1333:21: error[invalid-assignment] Cannot assign to a subscript on an object of type `None`
pandas/io/sql.py:1336:21: error[invalid-assignment] Cannot assign to a subscript on an object of type `None`
pandas/io/sql.py:1340:41: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/io/sql.py:1342:21: error[invalid-assignment] Cannot assign to a subscript on an object of type `None`
pandas/io/sql.py:1346:25: error[invalid-assignment] Cannot assign to a subscript on an object of type `None`
pandas/io/sql.py:1914:33: warning[possibly-missing-attribute] Attribute `items` may be missing on object of type `ExtensionDtype | str | dtype[Any] | ... omitted 4 union elements`
pandas/io/sql.py:2548:31: warning[possibly-missing-attribute] Attribute `columns` may be missing on object of type `Unknown | None | DataFrame`
pandas/io/sql.py:2866:33: warning[possibly-missing-attribute] Attribute `items` may be missing on object of type `ExtensionDtype | str | dtype[Any] | ... omitted 4 union elements`
pandas/io/stata.py:2253:16: error[invalid-return-type] Return type does not match returned value: expected `AnyStr@_pad_bytes`, found `bytes`
pandas/io/stata.py:2254:12: error[invalid-return-type] Return type does not match returned value: expected `AnyStr@_pad_bytes`, found `str`
pandas/io/stata.py:2915:21: error[invalid-argument-type] Argument to function `isfile` is incorrect: Expected `int | str | bytes | PathLike[str] | PathLike[bytes]`, found `str | (Unknown & PathLike[object]) | PathLike[str] | (WriteBuffer[bytes] & PathLike[object])`
pandas/io/stata.py:2918:35: error[invalid-argument-type] Argument to function `unlink` is incorrect: Expected `str | bytes | PathLike[str] | PathLike[bytes]`, found `str | (Unknown & PathLike[object]) | PathLike[str] | (WriteBuffer[bytes] & PathLike[object])`
pandas/io/xml.py:46:22: error[unresolved-import] Module `lxml` has no member `etree`
pandas/io/xml.py:545:14: error[unresolved-import] Cannot resolve imported module `lxml.etree`
pandas/io/xml.py:617:14: error[unresolved-import] Cannot resolve imported module `lxml.etree`
pandas/io/xml.py:655:14: error[unresolved-import] Cannot resolve imported module `lxml.etree`
pandas/plotting/_matplotlib/boxplot.py:278:9: error[unresolved-attribute] Module `matplotlib` has no member `artist`
pandas/plotting/_matplotlib/boxplot.py:280:9: error[unresolved-attribute] Module `matplotlib` has no member `artist`
pandas/plotting/_matplotlib/boxplot.py:282:9: error[unresolved-attribute] Module `matplotlib` has no member `artist`
pandas/plotting/_matplotlib/boxplot.py:284:9: error[unresolved-attribute] Module `matplotlib` has no member `artist`
pandas/plotting/_matplotlib/boxplot.py:338:14: error[non-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
pandas/plotting/_matplotlib/boxplot.py:338:27: error[invalid-argument-type] Argument to function `len` is incorrect: Expected `Sized`, found `Unknown | None | list[Unknown | None]`
pandas/plotting/_matplotlib/converter.py:78:12: error[invalid-return-type] Return type does not match returned value: expected `list[tuple[type, type[DateConverter]]]`, found `list[Unknown | tuple[<class 'Timestamp'>, <class 'DatetimeConverter'>] | tuple[<class 'Period'>, <class 'PeriodConverter'>] | ... omitted 4 union elements]`
pandas/plotting/_matplotlib/converter.py:172:18: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/converter.py:182:21: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/converter.py:236:16: error[no-matching-overload] No overload of function `to_offset` matches arguments
pandas/plotting/_matplotlib/converter.py:841:12: error[invalid-return-type] Return type does not match returned value: expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[int], list[Unknown | tuple[str, <class 'int'>] | tuple[str, <class 'bool'>] | tuple[str, str]]]`
pandas/plotting/_matplotlib/converter.py:889:12: error[invalid-return-type] Return type does not match returned value: expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[int], list[Unknown | tuple[str, <class 'int'>] | tuple[str, <class 'bool'>] | tuple[str, str]]]`
pandas/plotting/_matplotlib/converter.py:912:12: error[invalid-return-type] Return type does not match returned value: expected `ndarray[tuple[Any, ...], dtype[Any]]`, found `ndarray[tuple[int], list[Unknown | tuple[str, <class 'int'>] | tuple[str, <class 'bool'>] | tuple[str, str]]]`
pandas/plotting/_matplotlib/converter.py:932:30: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/converter.py:1013:16: error[unresolved-attribute] Module `matplotlib` has no member `transforms`
pandas/plotting/_matplotlib/converter.py:1021:32: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/converter.py:1097:37: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/core.py:111:20: error[unresolved-attribute] Module `matplotlib` has no member `colors`
pandas/plotting/_matplotlib/core.py:541:20: error[invalid-return-type] Return type does not match returned value: expected `Axes`, found `object`
pandas/plotting/_matplotlib/core.py:745:21: error[unresolved-attribute] Object of type `object` has no attribute `yaxis`
pandas/plotting/_matplotlib/core.py:756:21: error[unresolved-attribute] Object of type `object` has no attribute `yaxis`
pandas/plotting/_matplotlib/core.py:1063:35: error[invalid-return-type] Function can implicitly return `None`, which is not assignable to return type `bool`
pandas/plotting/_matplotlib/core.py:1240:32: error[unresolved-attribute] Module `matplotlib` has no member `axes`
pandas/plotting/_matplotlib/core.py:1383:21: error[unresolved-attribute] Module `matplotlib` has no member `patches`
pandas/plotting/_matplotlib/core.py:1445:17: error[unresolved-attribute] Module `matplotlib` has no member `colors`
pandas/plotting/_matplotlib/core.py:1457:39: error[invalid-argument-type] Argument to bound method `get_cmap` is incorrect: Expected `str | Colormap`, found `Unknown | None`
pandas/plotting/_matplotlib/core.py:1477:20: error[unresolved-attribute] Module `matplotlib` has no member `colors`
pandas/plotting/_matplotlib/core.py:1479:20: error[unresolved-attribute] Module `matplotlib` has no member `colors`
pandas/plotting/_matplotlib/misc.py:131:22: error[unresolved-attribute] Module `matplotlib` has no member `lines`
pandas/plotting/_matplotlib/misc.py:192:18: error[unresolved-attribute] Module `matplotlib` has no member `patches`
pandas/plotting/_matplotlib/misc.py:195:22: error[unresolved-attribute] Module `matplotlib` has no member `patches`
pandas/plotting/_matplotlib/misc.py:416:27: error[invalid-argument-type] Argument to bound method `axvline` is incorrect: Expected `int | float`, found `Unknown | int | str`
pandas/plotting/_matplotlib/misc.py:416:27: error[invalid-argument-type] Argument to bound method `axvline` is incorrect: Expected `int | float`, found `Unknown | int | str`
pandas/plotting/_matplotlib/style.py:99:16: error[invalid-return-type] Return type does not match returned value: expected `dict[str, str | Sequence[int | float]] | list[str | Sequence[int | float]]`, found `dict[str, str | Sequence[int | float]] | (Sequence[str | Sequence[int | float]] & Top[dict[Unknown, Unknown]]) | (Sequence[int | float] & Top[dict[Unknown, Unknown]])`
pandas/plotting/_matplotlib/timeseries.py:120:38: error[invalid-argument-type] Argument to function `_replot_ax` is incorrect: Expected `Axes`, found `~None`
pandas/plotting/_matplotlib/timeseries.py:360:23: error[invalid-argument-type] Argument to function `decorate_axes` is incorrect: Expected `Axes`, found `object`
pandas/plotting/_matplotlib/timeseries.py:362:23: error[invalid-argument-type] Argument to function `decorate_axes` is incorrect: Expected `Axes`, found `object`
pandas/plotting/_matplotlib/tools.py:82:12: error[unresolved-attribute] Module `matplotlib` has no member `table`
pandas/plotting/_matplotlib/tools.py:332:45: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/tools.py:333:32: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/tools.py:334:47: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/tools.py:335:34: error[unresolved-attribute] Module `matplotlib` has no member `ticker`
pandas/plotting/_matplotlib/tools.py:477:18: error[unresolved-attribute] Object of type `object` has no attribute `get_lines`
pandas/plotting/_matplotlib/tools.py:480:18: error[unresolved-attribute] Object of type `object` has no attribute `get_lines`
pandas/tseries/holiday.py:325:48: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `SupportsIndex`, found `Unknown | None`
pandas/tseries/holiday.py:325:60: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `SupportsIndex`, found `Unknown | None`
pandas/tseries/holiday.py:380:43: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `SupportsIndex`, found `Unknown | None`
pandas/tseries/holiday.py:380:55: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `SupportsIndex`, found `Unknown | None`
pandas/tseries/holiday.py:384:41: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `SupportsIndex`, found `Unknown | None`
pandas/tseries/holiday.py:384:53: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `SupportsIndex`, found `Unknown | None`
pandas/tseries/holiday.py:413:40: error[call-non-callable] Object of type `None` is not callable
pandas/util/_decorators.py:64:28: error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__name__`
pandas/util/_decorators.py:199:41: error[call-non-callable] Object of type `object` is not callable
pandas/util/_decorators.py:377:21: error[invalid-argument-type] Argument to bound method `extend` is incorrect: Expected `Iterable[str | ((...) -> Unknown)]`, found `object`
pandas/util/_exceptions.py:45:15: error[no-matching-overload] No overload of function `dirname` matches arguments
pandas/util/_print_versions.py:29:14: error[unresolved-import] Cannot resolve imported module `pandas._version_meson`
pandas/util/_validators.py:388:33: error[invalid-argument-type] Argument to function `validate_bool_kwarg` is incorrect: Argument type `object` does not satisfy constraints (`bool`, `int`, `None`) of type variable `BoolishNoneT`
typings/numba.pyi:20:7: error[unresolved-attribute] Module `numba.core.types` has no member `abstract`
typings/numba.pyi:21:12: error[unresolved-attribute] Module `numba.core.types` has no member `abstract`
typings/numba.pyi:24:21: error[unresolved-attribute] Module `numba` has no member `compiler`
Found 945 diagnostics

View File

@@ -0,0 +1,162 @@
ERROR src/prefect/concurrency/_leases.py:116:10-28: Cannot use `AsyncCancelScope` as a context manager [bad-context-manager]
ERROR src/prefect/concurrency/_leases.py:116:10-28: Cannot use `AsyncCancelScope` as a context manager [bad-context-manager]
ERROR src/prefect/events/actions.py:27:5-9: Class member `DoNothing.type` overrides parent class `Action` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:63:5-9: Class member `RunDeployment.type` overrides parent class `DeploymentAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:91:5-9: Class member `PauseDeployment.type` overrides parent class `DeploymentAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:97:5-9: Class member `ResumeDeployment.type` overrides parent class `DeploymentAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:103:5-9: Class member `ChangeFlowRunState.type` overrides parent class `Action` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:122:5-9: Class member `CancelFlowRun.type` overrides parent class `Action` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:128:5-9: Class member `ResumeFlowRun.type` overrides parent class `Action` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:134:5-9: Class member `SuspendFlowRun.type` overrides parent class `Action` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:140:5-9: Class member `CallWebhook.type` overrides parent class `Action` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:153:5-9: Class member `SendNotification.type` overrides parent class `Action` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:184:5-9: Class member `PauseWorkPool.type` overrides parent class `WorkPoolAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:190:5-9: Class member `ResumeWorkPool.type` overrides parent class `WorkPoolAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:226:5-9: Class member `PauseWorkQueue.type` overrides parent class `WorkQueueAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:232:5-9: Class member `ResumeWorkQueue.type` overrides parent class `WorkQueueAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:268:5-9: Class member `PauseAutomation.type` overrides parent class `AutomationAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:274:5-9: Class member `ResumeAutomation.type` overrides parent class `AutomationAction` in an inconsistent manner [bad-override]
ERROR src/prefect/events/actions.py:280:5-9: Class member `DeclareIncident.type` overrides parent class `Action` in an inconsistent manner [bad-override]
ERROR src/prefect/events/cli/automations.py:173:52-54: Missing argument `self` in function `pydantic.main.BaseModel.model_dump_json` [missing-argument]
ERROR src/prefect/events/cli/automations.py:175:23-33: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:176:42-43: Argument `Automation` is not assignable to parameter `obj` with type `type[BaseModel]` in function `no_really_json` [bad-argument-type]
ERROR src/prefect/events/cli/automations.py:176:54-64: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:177:25-35: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:178:41-51: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:178:41-51: Argument `Automation` is not assignable to parameter `obj` with type `type[BaseModel]` in function `no_really_json` [bad-argument-type]
ERROR src/prefect/events/cli/automations.py:181:43-53: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:184:30-40: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:187:34-44: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:241:44-54: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:241:44-57: Object of class `NoneType` has no attribute `id` [missing-attribute]
ERROR src/prefect/events/cli/automations.py:242:65-75: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:242:65-78: Object of class `NoneType` has no attribute `id` [missing-attribute]
ERROR src/prefect/events/cli/automations.py:296:43-53: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:296:43-56: Object of class `NoneType` has no attribute `id` [missing-attribute]
ERROR src/prefect/events/cli/automations.py:297:64-74: `automation` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:297:64-77: Object of class `NoneType` has no attribute `id` [missing-attribute]
ERROR src/prefect/events/cli/automations.py:359:44-46: Argument `str` is not assignable to parameter `automation_id` with type `UUID` in function `prefect.client.orchestration._automations.client.AutomationAsyncClient.delete_automation` [bad-argument-type]
ERROR src/prefect/events/cli/automations.py:429:33-42: Argument `str | None` is not assignable to parameter `__obj` with type `bytearray | bytes | memoryview[int] | str` in function `orjson.loads` [bad-argument-type]
ERROR src/prefect/events/cli/automations.py:434:19-23: `data` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:434:52-56: `data` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:435:28-32: `data` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:436:21-25: `data` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:437:28-32: `data` may be uninitialized [unbound-name]
ERROR src/prefect/events/cli/automations.py:439:29-33: `data` may be uninitialized [unbound-name]
ERROR src/prefect/events/clients.py:36:5-28: Could not import `PREFECT_API_AUTH_STRING` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/clients.py:37:5-20: Could not import `PREFECT_API_KEY` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/clients.py:38:5-20: Could not import `PREFECT_API_URL` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/clients.py:39:5-26: Could not import `PREFECT_CLOUD_API_URL` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/clients.py:40:5-23: Could not import `PREFECT_DEBUG_MODE` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/clients.py:41:5-40: Could not import `PREFECT_SERVER_ALLOW_EPHEMERAL_MODE` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/filters.py:75:23-81:6: `datetime` is not assignable to `DateTime` [bad-assignment]
ERROR src/prefect/events/filters.py:82:23-85:6: `datetime` is not assignable to `DateTime` [bad-assignment]
ERROR src/prefect/events/related.py:100:31-51: Argument `BoundMethod[PrefectClient, (self: PrefectClient, flow_run_id: UUID) -> Coroutine[Unknown, Unknown, FlowRun]]` is not assignable to parameter `client_method` with type `(UUID | str) -> Awaitable[ObjectBaseModel | None]` in function `_get_and_cache_related_object` [bad-argument-type]
ERROR src/prefect/events/related.py:123:35-51: Argument `BoundMethod[PrefectClient, (self: PrefectClient, flow_id: UUID) -> Coroutine[Unknown, Unknown, Flow]]` is not assignable to parameter `client_method` with type `(UUID | str) -> Awaitable[ObjectBaseModel | None]` in function `_get_and_cache_related_object` [bad-argument-type]
ERROR src/prefect/events/related.py:142:39-61: Argument `BoundMethod[PrefectClient, (self: PrefectClient, id: UUID) -> Coroutine[Unknown, Unknown, WorkQueue]]` is not assignable to parameter `client_method` with type `(UUID | str) -> Awaitable[ObjectBaseModel | None]` in function `_get_and_cache_related_object` [bad-argument-type]
ERROR src/prefect/events/related.py:153:39-60: Argument `BoundMethod[PrefectClient, (self: PrefectClient, work_pool_name: str) -> Coroutine[Unknown, Unknown, WorkPool]]` is not assignable to parameter `client_method` with type `(UUID | str) -> Awaitable[ObjectBaseModel | None]` in function `_get_and_cache_related_object` [bad-argument-type]
ERROR src/prefect/events/related.py:212:24-67: Cannot set item in `dict[str, tuple[dict[str, ObjectBaseModel | str | None], DateTime]]` [unsupported-operation]
ERROR src/prefect/events/schemas/automations.py:124:5-9: Class member `EventTrigger.type` overrides parent class `ResourceTrigger` in an inconsistent manner [bad-override]
ERROR src/prefect/events/schemas/automations.py:299:5-9: Class member `MetricTrigger.type` overrides parent class `ResourceTrigger` in an inconsistent manner [bad-override]
ERROR src/prefect/events/schemas/automations.py:329:5-9: Class member `CompositeTrigger.type` overrides parent class `Trigger` in an inconsistent manner [bad-override]
ERROR src/prefect/events/schemas/automations.py:345:5-9: Class member `CompoundTrigger.type` overrides parent class `CompositeTrigger` in an inconsistent manner [bad-override]
ERROR src/prefect/events/schemas/automations.py:382:5-9: Class member `SequenceTrigger.type` overrides parent class `CompositeTrigger` in an inconsistent manner [bad-override]
ERROR src/prefect/events/schemas/events.py:32:5-47: Could not import `PREFECT_EVENTS_MAXIMUM_LABELS_PER_RESOURCE` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/schemas/events.py:104:34-74: Could not import `PREFECT_EVENTS_MAXIMUM_RELATED_RESOURCES` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/schemas/events.py:119:50-122:6: `datetime` is not assignable to `DateTime` [bad-assignment]
ERROR src/prefect/events/worker.py:10:5-20: Could not import `PREFECT_API_KEY` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/worker.py:11:5-20: Could not import `PREFECT_API_URL` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/worker.py:12:5-26: Could not import `PREFECT_CLOUD_API_URL` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/events/worker.py:74:9-22: Class member `EventsWorker._prepare_item` overrides parent class `QueueService` in an inconsistent manner [bad-param-name-override]
ERROR src/prefect/events/worker.py:78:15-22: Class member `EventsWorker._handle` overrides parent class `QueueService` in an inconsistent manner [bad-param-name-override]
ERROR src/prefect/events/worker.py:100:9-17: Class member `EventsWorker.instance` overrides parent class `QueueService` in an inconsistent manner [bad-override]
WARN src/prefect/input/actions.py:46:34-53: `pydantic.main.BaseModel.json` is deprecated [deprecated]
ERROR src/prefect/input/run_input.py:252: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/input/run_input.py:354:38-44: Argument `dict[Literal['description', 'response', 'schema'], str]` is not assignable to parameter `keyset` with type `dict[str, str]` in function `BaseRunInput.load` [bad-argument-type]
ERROR src/prefect/input/run_input.py:626:51-628:10: `type[AutomaticRunInput[Any]] | type[BaseModel]` is not assignable to `type[AutomaticRunInput[Any]]` [bad-assignment]
ERROR src/prefect/input/run_input.py:626:79-628:10: `BaseModel` is not assignable to upper bound `RunInput` of type variable `R` [bad-specialization]
ERROR src/prefect/server/models/artifacts.py:107:34-43: Argument `datetime` is not assignable to parameter `now` with type `DateTime | None` in function `_insert_into_artifact_collection` [bad-argument-type]
ERROR src/prefect/server/models/artifacts.py:112:13-22: Argument `datetime` is not assignable to parameter `now` with type `DateTime | None` in function `_insert_into_artifact` [bad-argument-type]
ERROR src/prefect/server/models/artifacts.py:449:12-36: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/artifacts.py:449:39-65: Object of class `Result` has no attribute `rowcount` [missing-attribute]
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/block_documents.py:473:12-27: Object of class `Result` has no attribute `rowcount` [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:264:13-41: Object of class `dict` has no attribute `replace` [missing-attribute]
ERROR src/prefect/server/models/block_schemas.py:268:30-54: Object of class `dict` has no attribute `replace` [missing-attribute]
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_types.py:200:12-27: Object of class `Result` has no attribute `rowcount` [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/concurrency_limits.py:153:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/concurrency_limits.py:165:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/concurrency_limits_v2.py:171:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/concurrency_limits_v2.py:192:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/concurrency_limits_v2.py:236:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/concurrency_limits_v2.py:284:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/concurrency_limits_v2.py:306:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/csrf_token.py:105:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/deployments.py:35:5-44: Could not import `PREFECT_API_SERVICES_SCHEDULER_MAX_RUNS` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/server/models/deployments.py:36:5-54: Could not import `PREFECT_API_SERVICES_SCHEDULER_MAX_SCHEDULED_TIME` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/server/models/deployments.py:37:5-44: Could not import `PREFECT_API_SERVICES_SCHEDULER_MIN_RUNS` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/server/models/deployments.py:38:5-54: Could not import `PREFECT_API_SERVICES_SCHEDULER_MIN_SCHEDULED_TIME` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/server/models/deployments.py:108:74-84: Argument `Deployment | DeploymentCreate` is not assignable to parameter `deployment` with type `Deployment` in function `with_system_labels_for_deployment` [bad-argument-type]
ERROR src/prefect/server/models/deployments.py:324:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/deployments.py:593:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/deployments.py:1041:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/deployments.py:1066:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/deployments.py:1093:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/deployments.py:1139:20-47: Cannot use `PrefectServerEventsClient` as a context manager [bad-context-manager]
ERROR src/prefect/server/models/deployments.py:1146:34-45: Argument `datetime` is not assignable to parameter `occurred` with type `DateTime` in function `prefect.server.models.events.deployment_status_event` [bad-argument-type]
ERROR src/prefect/server/models/deployments.py:1192:24-51: Cannot use `PrefectServerEventsClient` as a context manager [bad-context-manager]
ERROR src/prefect/server/models/deployments.py:1199:38-48: Argument `datetime` is not assignable to parameter `occurred` with type `DateTime` in function `prefect.server.models.events.deployment_status_event` [bad-argument-type]
ERROR src/prefect/server/models/events.py:23:30-75: Could not import `PREFECT_API_EVENTS_RELATED_RESOURCE_CACHE_TTL` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/server/models/flow_run_input.py:91:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/flow_run_states.py:79:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/flow_runs.py:47:5-45: Could not import `PREFECT_API_MAX_FLOW_RUN_GRAPH_ARTIFACTS` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/server/models/flow_runs.py:48:5-41: Could not import `PREFECT_API_MAX_FLOW_RUN_GRAPH_NODES` from `prefect.settings` [missing-module-attribute]
ERROR src/prefect/server/models/flow_runs.py:174:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/flow_runs.py:267:50-80: `flow_or_task_run_exists_clause` may be uninitialized [unbound-name]
ERROR src/prefect/server/models/flow_runs.py:276:29-59: `flow_or_task_run_exists_clause` may be uninitialized [unbound-name]
ERROR src/prefect/server/models/flow_runs.py:322:41-49: Argument `str` is not assignable to parameter `*attrs` with type `Literal['*'] | QueryableAttribute[Any]` in function `sqlalchemy.orm.strategy_options.load_only` [bad-argument-type]
ERROR src/prefect/server/models/flow_runs.py:504:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/flow_runs.py:582:15-46: Object of class `OrchestrationContext` has no attribute `validate_proposed_state` [missing-attribute]
ERROR src/prefect/server/models/flow_runs.py:611:15-20: Argument `DateTime | datetime` is not assignable to parameter `since` with type `DateTime` in function `prefect.server.database.query_components.BaseQueryComponents.flow_run_graph_v2` [bad-argument-type]
ERROR src/prefect/server/models/flow_runs.py:685:19-34: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/flows.py:83:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/flows.py:290:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/logs.py:113:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/saved_searches.py:146:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/task_run_states.py:74:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/task_runs.py:176:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/task_runs.py:462:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/task_runs.py:535:15-46: Object of class `OrchestrationContext` has no attribute `validate_proposed_state` [missing-attribute]
ERROR src/prefect/server/models/variables.py:123:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/variables.py:140:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/variables.py:154:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/variables.py:168:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/work_queues.py:88:35-75: Argument `uuid.UUID | None` is not assignable to parameter `work_queue_id` with type `uuid.UUID | prefect.server.utilities.database.UUID` in function `prefect.server.models.workers.read_work_queue` [bad-argument-type]
ERROR src/prefect/server/models/work_queues.py:282:15-30: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/work_queues.py:311:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/work_queues.py:342:30-46: Argument `datetime | None` is not assignable to parameter `scheduled_before` with type `DateTime | None` in function `prefect.server.database.query_components.BaseQueryComponents.get_scheduled_flow_runs_from_work_queues` [bad-argument-type]
ERROR src/prefect/server/models/work_queues.py:463:52-81: Argument `uuid.UUID | None` is not assignable to parameter `work_queue_id` with type `uuid.UUID | prefect.server.utilities.database.UUID` in function `read_work_queue` [bad-argument-type]
ERROR src/prefect/server/models/work_queues.py:571:26-36: Argument `datetime` is not assignable to parameter `occurred` with type `DateTime` in function `prefect.server.models.events.work_queue_status_event` [bad-argument-type]
ERROR src/prefect/server/models/work_queues.py:576:16-43: Cannot use `PrefectServerEventsClient` as a context manager [bad-context-manager]
ERROR src/prefect/server/models/work_queues.py:609:26-36: Argument `datetime` is not assignable to parameter `occurred` with type `DateTime` in function `prefect.server.models.events.work_queue_status_event` [bad-argument-type]
ERROR src/prefect/server/models/work_queues.py:614:16-43: Cannot use `PrefectServerEventsClient` as a context manager [bad-context-manager]
ERROR src/prefect/server/models/work_queues.py:628:22-32: Argument `datetime` is not assignable to parameter `occurred` with type `DateTime` in function `prefect.server.models.events.work_queue_status_event` [bad-argument-type]
ERROR src/prefect/server/models/work_queues.py:631:16-43: Cannot use `PrefectServerEventsClient` as a context manager [bad-context-manager]
ERROR src/prefect/server/models/workers.py:253:15-30: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/workers.py:263:17-25: Unexpected keyword argument `occurred` [unexpected-keyword]
ERROR src/prefect/server/models/workers.py:264:17-37: Unexpected keyword argument `pre_update_work_pool` [unexpected-keyword]
ERROR src/prefect/server/models/workers.py:265:17-26: Unexpected keyword argument `work_pool` [unexpected-keyword]
ERROR src/prefect/server/models/workers.py:289:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/workers.py:328:26-42: Argument `datetime | None` is not assignable to parameter `scheduled_before` with type `DateTime | None` in function `prefect.server.database.query_components.BaseQueryComponents.get_scheduled_flow_runs_from_work_pool` [bad-argument-type]
ERROR src/prefect/server/models/workers.py:329:25-40: Argument `datetime | None` is not assignable to parameter `scheduled_after` with type `DateTime | None` in function `prefect.server.database.query_components.BaseQueryComponents.get_scheduled_flow_runs_from_work_pool` [bad-argument-type]
ERROR src/prefect/server/models/workers.py:626:15-30: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/workers.py:672:12-18: Module `sqlalchemy.exc` exists, but was not imported explicitly. You are relying on other modules to load it. [implicit-import]
ERROR src/prefect/server/models/workers.py:755:55-81: Cannot set item in `dict[str, WorkerStatus | datetime]` [unsupported-operation]
ERROR src/prefect/server/models/workers.py:770:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/workers.py:799:12-27: Object of class `Result` has no attribute `rowcount` [missing-attribute]
ERROR src/prefect/server/models/workers.py:811:16-43: Cannot use `PrefectServerEventsClient` as a context manager [bad-context-manager]
INFO Checking project configured at `<CWD>/pyrefly.toml`
INFO 159 errors (12 suppressed)

View File

@@ -0,0 +1,527 @@
<CWD>/src/prefect/events/actions.py
<CWD>/src/prefect/events/actions.py:27:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['do-nothing']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:63:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['run-deployment']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:91:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['pause-deployment']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:97:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['resume-deployment']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:103:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['change-flow-run-state']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:122:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['cancel-flow-run']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:128:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['resume-flow-run']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:134:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['suspend-flow-run']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:140:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['call-webhook']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:153:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['send-notification']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:184:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['pause-work-pool']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:190:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['resume-work-pool']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:226:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['pause-work-queue']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:232:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['resume-work-queue']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:268:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['pause-automation']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:274:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['resume-automation']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/actions.py:280:5 - error: "type" overrides symbol of same name in class "Action"
  Variable is mutable so its type is invariant
    Override type "Literal['declare-incident']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/cli/automations.py
<CWD>/src/prefect/events/cli/automations.py:173:33 - error: Argument missing for parameter "self" (reportCallIssue)
<CWD>/src/prefect/events/cli/automations.py:175:23 - error: "automation" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/prefect/events/cli/automations.py:176:42 - error: Argument of type "Automation" cannot be assigned to parameter "obj" of type "type[BaseModel]" in function "no_really_json"
  Type "Automation" is not assignable to type "type[BaseModel]" (reportArgumentType)
<CWD>/src/prefect/events/cli/automations.py:177:25 - error: "automation" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/prefect/events/cli/automations.py:178:41 - error: Argument of type "Automation" cannot be assigned to parameter "obj" of type "type[BaseModel]" in function "no_really_json"
  Type "Automation" is not assignable to type "type[BaseModel]" (reportArgumentType)
<CWD>/src/prefect/events/cli/automations.py:181:43 - error: "automation" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/prefect/events/cli/automations.py:184:30 - error: "automation" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/prefect/events/cli/automations.py:187:34 - error: "automation" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/prefect/events/cli/automations.py:241:55 - error: "id" is not a known attribute of "None" (reportOptionalMemberAccess)
<CWD>/src/prefect/events/cli/automations.py:242:76 - error: "id" is not a known attribute of "None" (reportOptionalMemberAccess)
<CWD>/src/prefect/events/cli/automations.py:296:54 - error: "id" is not a known attribute of "None" (reportOptionalMemberAccess)
<CWD>/src/prefect/events/cli/automations.py:297:75 - error: "id" is not a known attribute of "None" (reportOptionalMemberAccess)
<CWD>/src/prefect/events/cli/automations.py:359:44 - error: Argument of type "str" cannot be assigned to parameter "automation_id" of type "UUID" in function "delete_automation"
  "str" is not assignable to "UUID" (reportArgumentType)
<CWD>/src/prefect/events/cli/automations.py:429:33 - error: Argument of type "str | None" cannot be assigned to parameter "__obj" of type "bytes | bytearray | memoryview[int] | str" in function "loads"
  Type "str | None" is not assignable to type "bytes | bytearray | memoryview[int] | str"
    Type "None" is not assignable to type "bytes | bytearray | memoryview[int] | str"
      "None" is not assignable to "bytes"
      "None" is not assignable to "bytearray"
      "None" is not assignable to "memoryview[int]"
      "None" is not assignable to "str" (reportArgumentType)
<CWD>/src/prefect/events/clients.py
<CWD>/src/prefect/events/clients.py:600:19 - error: Argument of type "datetime" cannot be assigned to parameter "since" of type "DateTime" in function "__init__"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/events/clients.py:601:19 - error: Argument of type "datetime" cannot be assigned to parameter "until" of type "DateTime" in function "__init__"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/events/filters.py
<CWD>/src/prefect/events/filters.py:75:23 - error: Type "datetime" is not assignable to declared type "DateTime"
  "datetime" is not assignable to "DateTime" (reportAssignmentType)
<CWD>/src/prefect/events/filters.py:82:23 - error: Type "datetime" is not assignable to declared type "DateTime"
  "datetime" is not assignable to "DateTime" (reportAssignmentType)
<CWD>/src/prefect/events/related.py
<CWD>/src/prefect/events/related.py:100:31 - error: Argument of type "(flow_run_id: UUID) -> CoroutineType[Any, Any, FlowRun]" cannot be assigned to parameter "client_method" of type "(UUID | str) -> Awaitable[ObjectBaseModel | None]" in function "_get_and_cache_related_object"
  Type "(flow_run_id: UUID) -> CoroutineType[Any, Any, FlowRun]" is not assignable to type "(UUID | str) -> Awaitable[ObjectBaseModel | None]"
    Parameter 1: type "UUID | str" is incompatible with type "UUID"
      Type "UUID | str" is not assignable to type "UUID"
        "str" is not assignable to "UUID" (reportArgumentType)
<CWD>/src/prefect/events/related.py:123:35 - error: Argument of type "(flow_id: UUID) -> CoroutineType[Any, Any, Flow]" cannot be assigned to parameter "client_method" of type "(UUID | str) -> Awaitable[ObjectBaseModel | None]" in function "_get_and_cache_related_object"
  Type "(flow_id: UUID) -> CoroutineType[Any, Any, Flow]" is not assignable to type "(UUID | str) -> Awaitable[ObjectBaseModel | None]"
    Parameter 1: type "UUID | str" is incompatible with type "UUID"
      Type "UUID | str" is not assignable to type "UUID"
        "str" is not assignable to "UUID" (reportArgumentType)
<CWD>/src/prefect/events/related.py:142:39 - error: Argument of type "(id: UUID) -> CoroutineType[Any, Any, WorkQueue]" cannot be assigned to parameter "client_method" of type "(UUID | str) -> Awaitable[ObjectBaseModel | None]" in function "_get_and_cache_related_object"
  Type "(id: UUID) -> CoroutineType[Any, Any, WorkQueue]" is not assignable to type "(UUID | str) -> Awaitable[ObjectBaseModel | None]"
    Parameter 1: type "UUID | str" is incompatible with type "UUID"
      Type "UUID | str" is not assignable to type "UUID"
        "str" is not assignable to "UUID" (reportArgumentType)
<CWD>/src/prefect/events/related.py:153:39 - error: Argument of type "(work_pool_name: str) -> CoroutineType[Any, Any, WorkPool]" cannot be assigned to parameter "client_method" of type "(UUID | str) -> Awaitable[ObjectBaseModel | None]" in function "_get_and_cache_related_object"
  Type "(work_pool_name: str) -> CoroutineType[Any, Any, WorkPool]" is not assignable to type "(UUID | str) -> Awaitable[ObjectBaseModel | None]"
    Parameter 1: type "UUID | str" is incompatible with type "str"
      Type "UUID | str" is not assignable to type "str"
        "UUID" is not assignable to "str" (reportArgumentType)
<CWD>/src/prefect/events/related.py:182:30 - error: Cannot access attribute "tags" for class "str"
  Attribute "tags" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/events/related.py:182:30 - error: Cannot access attribute "tags" for class "ObjectBaseModel"
  Attribute "tags" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/events/related.py:212:5 - error: Argument of type "tuple[ResourceCacheEntry | dict[str, Unknown], datetime]" cannot be assigned to parameter "value" of type "Tuple[ResourceCacheEntry, DateTime]" in function "__setitem__"
  "tuple[ResourceCacheEntry | dict[str, Unknown], datetime]" is not assignable to "Tuple[ResourceCacheEntry, DateTime]"
    Tuple entry 2 is incorrect type
      "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/events/schemas/automations.py
<CWD>/src/prefect/events/schemas/automations.py:86:28 - error: Cannot access attribute "trigger_type" for class "Trigger*"
  Attribute "trigger_type" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/events/schemas/automations.py:124:5 - error: "type" overrides symbol of same name in class "ResourceTrigger"
  Variable is mutable so its type is invariant
    Override type "Literal['event']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/schemas/automations.py:299:5 - error: "type" overrides symbol of same name in class "ResourceTrigger"
  Variable is mutable so its type is invariant
    Override type "Literal['metric']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/schemas/automations.py:329:5 - error: "type" overrides symbol of same name in class "Trigger"
  Variable is mutable so its type is invariant
    Override type "Literal['compound', 'sequence']" is not the same as base type "str" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/schemas/automations.py:345:5 - error: "type" overrides symbol of same name in class "CompositeTrigger"
  Variable is mutable so its type is invariant
    Override type "Literal['compound']" is not the same as base type "Literal['compound', 'sequence']" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/schemas/automations.py:382:5 - error: "type" overrides symbol of same name in class "CompositeTrigger"
  Variable is mutable so its type is invariant
    Override type "Literal['sequence']" is not the same as base type "Literal['compound', 'sequence']" (reportIncompatibleVariableOverride)
<CWD>/src/prefect/events/schemas/events.py
<CWD>/src/prefect/events/schemas/events.py:119:50 - error: Type "datetime" is not assignable to declared type "DateTime"
  "datetime" is not assignable to "DateTime" (reportAssignmentType)
<CWD>/src/prefect/events/worker.py
<CWD>/src/prefect/events/worker.py:64:6 - error: Argument of type "(self: Self@EventsWorker) -> CoroutineType[Any, Any, Unknown]" cannot be assigned to parameter "func" of type "(**_P@asynccontextmanager) -> AsyncIterator[_T_co@asynccontextmanager]" in function "asynccontextmanager"
  Type "(self: Self@EventsWorker) -> CoroutineType[Any, Any, Unknown]" is not assignable to type "(**_P@asynccontextmanager) -> AsyncIterator[_T_co@asynccontextmanager]"
    Function return type "CoroutineType[Any, Any, Unknown]" is incompatible with type "AsyncIterator[_T_co@asynccontextmanager]"
      "CoroutineType[Any, Any, Unknown]" is incompatible with protocol "AsyncIterator[_T_co@asynccontextmanager]"
        "__anext__" is not present
        "__aiter__" is not present (reportArgumentType)
<CWD>/src/prefect/events/worker.py:74:9 - error: Method "_prepare_item" overrides class "QueueService" in an incompatible manner
  Parameter 2 name mismatch: base parameter is named "item", override parameter is named "event" (reportIncompatibleMethodOverride)
<CWD>/src/prefect/events/worker.py:78:15 - error: Method "_handle" overrides class "QueueService" in an incompatible manner
  Parameter 2 name mismatch: base parameter is named "item", override parameter is named "event" (reportIncompatibleMethodOverride)
<CWD>/src/prefect/events/worker.py:100:9 - error: Method "instance" overrides class "_QueueServiceBase" in an incompatible manner
  Parameter "args" is missing in override (reportIncompatibleMethodOverride)
<CWD>/src/prefect/input/run_input.py
<CWD>/src/prefect/input/run_input.py:239:14 - error: Type of parameter "cls" must be a supertype of its class "type[BaseRunInput]" (reportGeneralTypeIssues)
<CWD>/src/prefect/server/models/artifacts.py
<CWD>/src/prefect/server/models/artifacts.py:107:34 - error: Argument of type "datetime" cannot be assigned to parameter "now" of type "DateTime | None"
  Type "datetime" is not assignable to type "DateTime | None"
    "datetime" is not assignable to "DateTime"
    "datetime" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/artifacts.py:112:13 - error: Argument of type "datetime" cannot be assigned to parameter "now" of type "DateTime | None"
  Type "datetime" is not assignable to type "DateTime | None"
    "datetime" is not assignable to "DateTime"
    "datetime" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/artifacts.py:449:28 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/artifacts.py:449:57 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/artifacts.py:534:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/block_documents.py
<CWD>/src/prefect/server/models/block_documents.py:145:16 - error: Argument of type "dict[str, list[UUID]]" cannot be assigned to parameter "id" of type "BlockDocumentFilterId | None" in function "__init__"
  Type "dict[str, list[UUID]]" is not assignable to type "BlockDocumentFilterId | None"
    "dict[str, list[UUID]]" is not assignable to "BlockDocumentFilterId"
    "dict[str, list[UUID]]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/block_documents.py:256:18 - error: Argument of type "dict[str, list[str]]" cannot be assigned to parameter "name" of type "BlockDocumentFilterName | None" in function "__init__"
  Type "dict[str, list[str]]" is not assignable to type "BlockDocumentFilterName | None"
    "dict[str, list[str]]" is not assignable to "BlockDocumentFilterName"
    "dict[str, list[str]]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/block_documents.py:261:18 - error: Argument of type "dict[str, list[str]]" cannot be assigned to parameter "slug" of type "BlockTypeFilterSlug | None" in function "__init__"
  Type "dict[str, list[str]]" is not assignable to type "BlockTypeFilterSlug | None"
    "dict[str, list[str]]" is not assignable to "BlockTypeFilterSlug"
    "dict[str, list[str]]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/block_documents.py:427:50 - error: Argument of type "dict[str, list[UUID]]" cannot be assigned to parameter "id" of type "BlockSchemaFilterId | None" in function "__init__"
  Type "dict[str, list[UUID]]" is not assignable to type "BlockSchemaFilterId | None"
    "dict[str, list[UUID]]" is not assignable to "BlockSchemaFilterId"
    "dict[str, list[UUID]]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/block_documents.py:473:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/block_documents.py:664:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/block_schemas.py
<CWD>/src/prefect/server/models/block_schemas.py:264:34 - error: Cannot access attribute "replace" for class "dict[str, Any]"
  Attribute "replace" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/block_schemas.py:268:47 - error: Cannot access attribute "replace" for class "dict[str, Any]"
  Attribute "replace" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/block_schemas.py:303:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/block_types.py
<CWD>/src/prefect/server/models/block_types.py:200:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/block_types.py:221:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/concurrency_limits.py
<CWD>/src/prefect/server/models/concurrency_limits.py:153:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/concurrency_limits.py:165:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/concurrency_limits_v2.py
<CWD>/src/prefect/server/models/concurrency_limits_v2.py:171:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/concurrency_limits_v2.py:192:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/concurrency_limits_v2.py:236:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/concurrency_limits_v2.py:284:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/concurrency_limits_v2.py:306:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/csrf_token.py
<CWD>/src/prefect/server/models/csrf_token.py:105:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/deployments.py
<CWD>/src/prefect/server/models/deployments.py:108:74 - error: Argument of type "Deployment | DeploymentCreate" cannot be assigned to parameter "deployment" of type "Deployment" in function "with_system_labels_for_deployment"
  Type "Deployment | DeploymentCreate" is not assignable to type "Deployment"
    "DeploymentCreate" is not assignable to "Deployment" (reportArgumentType)
<CWD>/src/prefect/server/models/deployments.py:324:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/deployments.py:593:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/deployments.py:1041:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/deployments.py:1066:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/deployments.py:1093:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/deployments.py:1146:34 - error: Argument of type "datetime" cannot be assigned to parameter "occurred" of type "DateTime" in function "deployment_status_event"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/server/models/deployments.py:1199:38 - error: Argument of type "datetime" cannot be assigned to parameter "occurred" of type "DateTime" in function "deployment_status_event"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/server/models/events.py
<CWD>/src/prefect/server/models/events.py:52:18 - error: Argument of type "datetime" cannot be assigned to parameter "occurred" of type "DateTime" in function "__init__"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/server/models/events.py:54:18 - error: Argument of type "dict[str, str | None]" cannot be assigned to parameter "resource" of type "Resource" in function "__init__" (reportArgumentType)
<CWD>/src/prefect/server/models/events.py:69:17 - error: Argument of type "RelatedResourceList" cannot be assigned to parameter "related" of type "list[RelatedResource]" in function "__init__"
  "List[Dict[str, str]]" is not assignable to "list[RelatedResource]"
    Type parameter "_T@list" is invariant, but "Dict[str, str]" is not the same as "RelatedResource"
    Consider switching from "list" to "Sequence" which is covariant (reportArgumentType)
<CWD>/src/prefect/server/models/events.py:82:12 - error: Argument of type "UUID | None" cannot be assigned to parameter "id" of type "UUID" in function "__init__"
  Type "UUID | None" is not assignable to type "UUID"
    "None" is not assignable to "UUID" (reportArgumentType)
<CWD>/src/prefect/server/models/events.py:356:18 - error: Argument of type "dict[str, str]" cannot be assigned to parameter "resource" of type "Resource" in function "__init__" (reportArgumentType)
<CWD>/src/prefect/server/models/events.py:391:18 - error: Argument of type "dict[str, str]" cannot be assigned to parameter "resource" of type "Resource" in function "__init__" (reportArgumentType)
<CWD>/src/prefect/server/models/events.py:396:17 - error: Argument of type "List[Dict[str, Any]]" cannot be assigned to parameter "related" of type "list[RelatedResource]" in function "__init__"
  "List[Dict[str, Any]]" is not assignable to "list[RelatedResource]"
    Type parameter "_T@list" is invariant, but "Dict[str, Any]" is not the same as "RelatedResource"
    Consider switching from "list" to "Sequence" which is covariant (reportArgumentType)
<CWD>/src/prefect/server/models/events.py:413:18 - error: Argument of type "dict[str, str]" cannot be assigned to parameter "resource" of type "Resource" in function "__init__" (reportArgumentType)
<CWD>/src/prefect/server/models/flow_run_input.py
<CWD>/src/prefect/server/models/flow_run_input.py:91:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/flow_run_states.py
<CWD>/src/prefect/server/models/flow_run_states.py:79:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/flow_runs.py
<CWD>/src/prefect/server/models/flow_runs.py:174:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/flow_runs.py:251:26 - error: Variable not allowed in type expression (reportInvalidTypeForm)
<CWD>/src/prefect/server/models/flow_runs.py:252:26 - error: Variable not allowed in type expression (reportInvalidTypeForm)
<CWD>/src/prefect/server/models/flow_runs.py:267:50 - error: "flow_or_task_run_exists_clause" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/prefect/server/models/flow_runs.py:276:29 - error: "flow_or_task_run_exists_clause" is possibly unbound (reportPossiblyUnboundVariable)
<CWD>/src/prefect/server/models/flow_runs.py:322:42 - error: Argument of type "str" cannot be assigned to parameter "attrs" of type "_AttrType" in function "load_only"
  Type "str" is not assignable to type "_AttrType"
    "str" is not assignable to "QueryableAttribute[Any]"
    "str" is not assignable to type "Literal['*']" (reportArgumentType)
<CWD>/src/prefect/server/models/flow_runs.py:419:39 - error: Argument of type "list[_TaskInput]" cannot be assigned to parameter "upstream_dependencies" of type "List[TaskRunResult]" in function "__init__"
  "list[_TaskInput]" is not assignable to "List[TaskRunResult]"
    Type parameter "_T@list" is invariant, but "_TaskInput" is not the same as "TaskRunResult"
    Consider switching from "list" to "Sequence" which is covariant (reportArgumentType)
<CWD>/src/prefect/server/models/flow_runs.py:420:23 - error: Argument of type "TaskRunState | None" cannot be assigned to parameter "state" of type "State | None" in function "__init__"
  Type "TaskRunState | None" is not assignable to type "State | None"
    Type "TaskRunState" is not assignable to type "State | None"
      "TaskRunState" is not assignable to "State"
      "TaskRunState" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/flow_runs.py:504:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/flow_runs.py:582:15 - error: Argument missing for parameter "db" (reportCallIssue)
<CWD>/src/prefect/server/models/flow_runs.py:582:23 - error: Cannot access attribute "validate_proposed_state" for class "OrchestrationContext[FlowRun, FlowRunPolicy]"
  Attribute "validate_proposed_state" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/flow_runs.py:611:15 - error: Argument of type "DateTime | datetime" cannot be assigned to parameter "since" of type "DateTime"
  Type "DateTime | datetime" is not assignable to type "DateTime"
    "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/server/models/flow_runs.py:685:26 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/flows.py
<CWD>/src/prefect/server/models/flows.py:83:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/flows.py:290:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/logs.py
<CWD>/src/prefect/server/models/logs.py:113:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/saved_searches.py
<CWD>/src/prefect/server/models/saved_searches.py:146:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/task_run_states.py
<CWD>/src/prefect/server/models/task_run_states.py:74:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/task_runs.py
<CWD>/src/prefect/server/models/task_runs.py:176:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/task_runs.py:462:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/task_runs.py:535:15 - error: Argument missing for parameter "db" (reportCallIssue)
<CWD>/src/prefect/server/models/task_runs.py:535:23 - error: Cannot access attribute "validate_proposed_state" for class "OrchestrationContext[TaskRun, TaskRunPolicy]"
  Attribute "validate_proposed_state" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/task_workers.py
<CWD>/src/prefect/server/models/task_workers.py:71:23 - error: Argument of type "datetime" cannot be assigned to parameter "timestamp" of type "DateTime" in function "__init__"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/server/models/variables.py
<CWD>/src/prefect/server/models/variables.py:123:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/variables.py:140:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/variables.py:154:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/variables.py:168:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/work_queues.py
<CWD>/src/prefect/server/models/work_queues.py:88:35 - error: Argument of type "UUID | None" cannot be assigned to parameter "work_queue_id" of type "uuid.UUID | prefect.server.utilities.database.UUID"
  Type "UUID | None" is not assignable to type "uuid.UUID | prefect.server.utilities.database.UUID"
    Type "None" is not assignable to type "uuid.UUID | prefect.server.utilities.database.UUID"
      "None" is not assignable to "UUID"
      "None" is not assignable to "UUID" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:282:22 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/work_queues.py:311:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/work_queues.py:342:30 - error: Argument of type "datetime | None" cannot be assigned to parameter "scheduled_before" of type "DateTime | None"
  Type "datetime | None" is not assignable to type "DateTime | None"
    Type "datetime" is not assignable to type "DateTime | None"
      "datetime" is not assignable to "DateTime"
      "datetime" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "operator" of type "Operator" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "Operator"
    "dict[str, list[str] | None]" is not assignable to "Operator" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "id" of type "FlowRunFilterId | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterId | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterId | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterId"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "name" of type "FlowRunFilterName | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterName | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterName | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterName"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "tags" of type "FlowRunFilterTags | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterTags | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterTags | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterTags"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "deployment_id" of type "FlowRunFilterDeploymentId | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterDeploymentId | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterDeploymentId | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterDeploymentId"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "work_queue_name" of type "FlowRunFilterWorkQueueName | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterWorkQueueName | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterWorkQueueName | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterWorkQueueName"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "flow_version" of type "FlowRunFilterFlowVersion | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterFlowVersion | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterFlowVersion | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterFlowVersion"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "start_time" of type "FlowRunFilterStartTime | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterStartTime | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterStartTime | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterStartTime"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "end_time" of type "FlowRunFilterEndTime | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterEndTime | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterEndTime | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterEndTime"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "expected_start_time" of type "FlowRunFilterExpectedStartTime | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterExpectedStartTime | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterExpectedStartTime | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterExpectedStartTime"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "next_scheduled_start_time" of type "FlowRunFilterNextScheduledStartTime | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterNextScheduledStartTime | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterNextScheduledStartTime | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterNextScheduledStartTime"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "parent_flow_run_id" of type "FlowRunFilterParentFlowRunId | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterParentFlowRunId | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterParentFlowRunId | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterParentFlowRunId"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "parent_task_run_id" of type "FlowRunFilterParentTaskRunId | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterParentTaskRunId | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterParentTaskRunId | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterParentTaskRunId"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:403:19 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "idempotency_key" of type "FlowRunFilterIdempotencyKey | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterIdempotencyKey | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterIdempotencyKey | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterIdempotencyKey"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:404:23 - error: Argument of type "dict[str, dict[str, list[StateType]]]" cannot be assigned to parameter "state" of type "FlowRunFilterState | None" in function "__init__"
  Type "dict[str, dict[str, list[StateType]]]" is not assignable to type "FlowRunFilterState | None"
    "dict[str, dict[str, list[StateType]]]" is not assignable to "FlowRunFilterState"
    "dict[str, dict[str, list[StateType]]]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "operator" of type "Operator" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "Operator"
    "dict[str, list[str] | None]" is not assignable to "Operator" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "id" of type "FlowRunFilterId | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterId | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterId | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterId"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "name" of type "FlowRunFilterName | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterName | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterName | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterName"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "tags" of type "FlowRunFilterTags | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterTags | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterTags | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterTags"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "deployment_id" of type "FlowRunFilterDeploymentId | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterDeploymentId | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterDeploymentId | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterDeploymentId"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "work_queue_name" of type "FlowRunFilterWorkQueueName | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterWorkQueueName | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterWorkQueueName | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterWorkQueueName"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "flow_version" of type "FlowRunFilterFlowVersion | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterFlowVersion | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterFlowVersion | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterFlowVersion"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "start_time" of type "FlowRunFilterStartTime | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterStartTime | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterStartTime | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterStartTime"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "end_time" of type "FlowRunFilterEndTime | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterEndTime | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterEndTime | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterEndTime"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "expected_start_time" of type "FlowRunFilterExpectedStartTime | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterExpectedStartTime | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterExpectedStartTime | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterExpectedStartTime"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "parent_flow_run_id" of type "FlowRunFilterParentFlowRunId | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterParentFlowRunId | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterParentFlowRunId | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterParentFlowRunId"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "parent_task_run_id" of type "FlowRunFilterParentTaskRunId | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterParentTaskRunId | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterParentTaskRunId | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterParentTaskRunId"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:421:15 - error: Argument of type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" cannot be assigned to parameter "idempotency_key" of type "FlowRunFilterIdempotencyKey | None" in function "__init__"
  Type "dict[str, list[str] | None] | dict[str, list[UUID] | bool | None]" is not assignable to type "FlowRunFilterIdempotencyKey | None"
    Type "dict[str, list[str] | None]" is not assignable to type "FlowRunFilterIdempotencyKey | None"
      "dict[str, list[str] | None]" is not assignable to "FlowRunFilterIdempotencyKey"
      "dict[str, list[str] | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:422:19 - error: Argument of type "dict[str, dict[str, list[StateType]]]" cannot be assigned to parameter "state" of type "FlowRunFilterState | None" in function "__init__"
  Type "dict[str, dict[str, list[StateType]]]" is not assignable to type "FlowRunFilterState | None"
    "dict[str, dict[str, list[StateType]]]" is not assignable to "FlowRunFilterState"
    "dict[str, dict[str, list[StateType]]]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:423:39 - error: Argument of type "dict[str, datetime | None]" cannot be assigned to parameter "next_scheduled_start_time" of type "FlowRunFilterNextScheduledStartTime | None" in function "__init__"
  Type "dict[str, datetime | None]" is not assignable to type "FlowRunFilterNextScheduledStartTime | None"
    "dict[str, datetime | None]" is not assignable to "FlowRunFilterNextScheduledStartTime"
    "dict[str, datetime | None]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:452:28 - error: Arguments missing for parameters "concurrency_limit", "filter" (reportCallIssue)
<CWD>/src/prefect/server/models/work_queues.py:459:32 - error: Arguments missing for parameters "concurrency_limit", "filter" (reportCallIssue)
<CWD>/src/prefect/server/models/work_queues.py:463:52 - error: Argument of type "UUID | None" cannot be assigned to parameter "work_queue_id" of type "uuid.UUID | prefect.server.utilities.database.UUID"
  Type "UUID | None" is not assignable to type "uuid.UUID | prefect.server.utilities.database.UUID"
    Type "None" is not assignable to type "uuid.UUID | prefect.server.utilities.database.UUID"
      "None" is not assignable to "UUID"
      "None" is not assignable to "UUID" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:491:59 - error: Argument of type "dict[str, list[str]]" cannot be assigned to parameter "name" of type "FlowRunFilterStateName | None" in function "__init__"
  Type "dict[str, list[str]]" is not assignable to type "FlowRunFilterStateName | None"
    "dict[str, list[str]]" is not assignable to "FlowRunFilterStateName"
    "dict[str, list[str]]" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:571:26 - error: Argument of type "datetime" cannot be assigned to parameter "occurred" of type "DateTime" in function "work_queue_status_event"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:609:26 - error: Argument of type "datetime" cannot be assigned to parameter "occurred" of type "DateTime" in function "work_queue_status_event"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/server/models/work_queues.py:628:22 - error: Argument of type "datetime" cannot be assigned to parameter "occurred" of type "DateTime" in function "work_queue_status_event"
  "datetime" is not assignable to "DateTime" (reportArgumentType)
<CWD>/src/prefect/server/models/workers.py
<CWD>/src/prefect/server/models/workers.py:77:20 - error: Arguments missing for parameters "concurrency_limit", "filter", "priority" (reportCallIssue)
<CWD>/src/prefect/server/models/workers.py:253:22 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/workers.py:289:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/workers.py:328:26 - error: Argument of type "datetime | None" cannot be assigned to parameter "scheduled_before" of type "DateTime | None"
  Type "datetime | None" is not assignable to type "DateTime | None"
    Type "datetime" is not assignable to type "DateTime | None"
      "datetime" is not assignable to "DateTime"
      "datetime" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/workers.py:329:25 - error: Argument of type "datetime | None" cannot be assigned to parameter "scheduled_after" of type "DateTime | None"
  Type "datetime | None" is not assignable to type "DateTime | None"
    Type "datetime" is not assignable to type "DateTime | None"
      "datetime" is not assignable to "DateTime"
      "datetime" is not assignable to "None" (reportArgumentType)
<CWD>/src/prefect/server/models/workers.py:626:22 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/workers.py:672:15 - error: "exc" is not a known attribute of module "sqlalchemy" (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/workers.py:755:9 - error: Argument of type "int" cannot be assigned to parameter "value" of type "datetime | WorkerStatus" in function "__setitem__"
  Type "int" is not assignable to type "datetime | WorkerStatus"
    "int" is not assignable to "datetime"
    "int" is not assignable to "WorkerStatus" (reportArgumentType)
<CWD>/src/prefect/server/models/workers.py:770:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
<CWD>/src/prefect/server/models/workers.py:799:19 - error: Cannot access attribute "rowcount" for class "Result[Any]"
  Attribute "rowcount" is unknown (reportAttributeAccessIssue)
174 errors, 0 warnings, 0 informations

View File

@@ -0,0 +1,2 @@
src/prefect/events/cli/automations.py:429: error: Argument 1 to "loads" has incompatible type "str | None"; expected "bytes | bytearray | memoryview[int] | str" [arg-type]
Found 1 error in 1 file (checked 58 source files)

View File

@@ -0,0 +1,131 @@
src/prefect/concurrency/_leases.py:116:10: error[invalid-context-manager] Object of type `AsyncCancelScope` cannot be used with `with` because it does not correctly implement `__exit__`
src/prefect/events/cli/automations.py:173:33: error[missing-argument] No argument provided for required parameter `self` of function `model_dump_json`
src/prefect/events/cli/automations.py:176:42: error[invalid-argument-type] Argument to function `no_really_json` is incorrect: Expected `type[BaseModel]`, found `Automation`
src/prefect/events/cli/automations.py:178:41: error[invalid-argument-type] Argument to function `no_really_json` is incorrect: Expected `type[BaseModel]`, found `Automation`
src/prefect/events/cli/automations.py:241:44: warning[possibly-missing-attribute] Attribute `id` may be missing on object of type `Automation | None`
src/prefect/events/cli/automations.py:242:65: warning[possibly-missing-attribute] Attribute `id` may be missing on object of type `Automation | None`
src/prefect/events/cli/automations.py:296:43: warning[possibly-missing-attribute] Attribute `id` may be missing on object of type `Automation | None`
src/prefect/events/cli/automations.py:297:64: warning[possibly-missing-attribute] Attribute `id` may be missing on object of type `Automation | None`
src/prefect/events/cli/automations.py:359:44: error[invalid-argument-type] Argument to bound method `delete_automation` is incorrect: Expected `UUID`, found `str & ~AlwaysFalsy`
src/prefect/events/cli/automations.py:429:33: error[invalid-argument-type] Argument to function `loads` is incorrect: Expected `bytes | bytearray | memoryview[int] | str`, found `str | None`
src/prefect/events/clients.py:389:23: warning[possibly-missing-attribute] Attribute `send` may be missing on object of type `ClientConnection | None`
src/prefect/events/clients.py:600:13: error[invalid-argument-type] Argument is incorrect: Expected `DateTime`, found `datetime`
src/prefect/events/clients.py:601:13: error[invalid-argument-type] Argument is incorrect: Expected `DateTime`, found `datetime`
src/prefect/events/clients.py:642:50: warning[possibly-missing-attribute] Attribute `recv` may be missing on object of type `ClientConnection | None`
src/prefect/events/related.py:100:17: error[invalid-argument-type] Argument to function `_get_and_cache_related_object` is incorrect: Expected `(UUID | str, /) -> Awaitable[ObjectBaseModel | None]`, found `bound method PrefectClient.read_flow_run(flow_run_id: UUID) -> CoroutineType[Any, Any, FlowRun]`
src/prefect/events/related.py:123:21: error[invalid-argument-type] Argument to function `_get_and_cache_related_object` is incorrect: Expected `(UUID | str, /) -> Awaitable[ObjectBaseModel | None]`, found `bound method PrefectClient.read_flow(flow_id: UUID) -> CoroutineType[Any, Any, Flow]`
src/prefect/events/related.py:142:25: error[invalid-argument-type] Argument to function `_get_and_cache_related_object` is incorrect: Expected `(UUID | str, /) -> Awaitable[ObjectBaseModel | None]`, found `bound method PrefectClient.read_work_queue(id: UUID) -> CoroutineType[Any, Any, WorkQueue]`
src/prefect/events/related.py:153:25: error[invalid-argument-type] Argument to function `_get_and_cache_related_object` is incorrect: Expected `(UUID | str, /) -> Awaitable[ObjectBaseModel | None]`, found `bound method PrefectClient.read_work_pool(work_pool_name: str) -> CoroutineType[Any, Any, WorkPool]`
src/prefect/events/related.py:182:25: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `object`
src/prefect/events/related.py:212:5: error[invalid-assignment] Invalid subscript assignment with key of type `str` and value of type `tuple[dict[str, str | ObjectBaseModel | None] | dict[Unknown | str, Unknown | str | ObjectBaseModel | None], datetime]` on object of type `dict[str, tuple[dict[str, str | ObjectBaseModel | None], DateTime]]`
src/prefect/events/schemas/automations.py:86:23: error[call-non-callable] Object of type `object` is not callable
src/prefect/events/utilities.py:96:27: error[invalid-argument-type] Argument is incorrect: Expected `DateTime`, found `Any | dict[str, Any] | None`
src/prefect/events/utilities.py:96:27: error[invalid-argument-type] Argument is incorrect: Expected `str`, found `Any | dict[str, Any] | None`
src/prefect/events/utilities.py:96:27: error[invalid-argument-type] Argument is incorrect: Expected `Resource`, found `Any | dict[str, Any] | None`
src/prefect/events/utilities.py:96:27: error[invalid-argument-type] Argument is incorrect: Expected `list[RelatedResource]`, found `Any | dict[str, Any] | None`
src/prefect/events/utilities.py:96:27: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Any]`, found `Any | dict[str, Any] | None`
src/prefect/events/utilities.py:96:27: error[invalid-argument-type] Argument is incorrect: Expected `UUID`, found `Any | dict[str, Any] | None`
src/prefect/events/utilities.py:96:27: error[invalid-argument-type] Argument is incorrect: Expected `UUID | None`, found `Any | dict[str, Any] | None`
src/prefect/input/actions.py:46:49: warning[deprecated] The function `json` is deprecated: The `json` method is deprecated; use `model_dump_json` instead.
src/prefect/server/models/artifacts.py:449:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/artifacts.py:449:39: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/artifacts.py:534:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/block_documents.py:145:13: error[invalid-argument-type] Argument is incorrect: Expected `BlockDocumentFilterId | None`, found `dict[str, list[Unknown | UUID]]`
src/prefect/server/models/block_documents.py:256:13: error[invalid-argument-type] Argument is incorrect: Expected `BlockDocumentFilterName | None`, found `dict[str, list[Unknown | str]]`
src/prefect/server/models/block_documents.py:261:13: error[invalid-argument-type] Argument is incorrect: Expected `BlockTypeFilterSlug | None`, found `dict[str, list[Unknown | str]]`
src/prefect/server/models/block_documents.py:427:47: error[invalid-argument-type] Argument is incorrect: Expected `BlockSchemaFilterId | None`, found `dict[str, list[UUID | Unknown]]`
src/prefect/server/models/block_documents.py:473:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/block_documents.py:664:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/block_schemas.py:264:13: error[unresolved-attribute] Object of type `dict[str, Any]` has no attribute `replace`
src/prefect/server/models/block_schemas.py:268:30: error[unresolved-attribute] Object of type `dict[str, Any]` has no attribute `replace`
src/prefect/server/models/block_schemas.py:303:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/block_types.py:200:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/block_types.py:221:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/concurrency_limits.py:153:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/concurrency_limits.py:165:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/concurrency_limits_v2.py:171:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/concurrency_limits_v2.py:192:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/concurrency_limits_v2.py:236:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/concurrency_limits_v2.py:284:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/concurrency_limits_v2.py:306:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/csrf_token.py:105:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/deployments.py:108:74: error[invalid-argument-type] Argument to function `with_system_labels_for_deployment` is incorrect: Expected `Deployment`, found `Deployment | DeploymentCreate`
src/prefect/server/models/deployments.py:324:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/deployments.py:593:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/deployments.py:1041:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/deployments.py:1066:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/deployments.py:1093:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/deployments.py:1146:25: error[invalid-argument-type] Argument to function `deployment_status_event` is incorrect: Expected `DateTime`, found `datetime`
src/prefect/server/models/deployments.py:1199:29: error[invalid-argument-type] Argument to function `deployment_status_event` is incorrect: Expected `DateTime`, found `datetime`
src/prefect/server/models/events.py:52:9: error[invalid-argument-type] Argument is incorrect: Expected `DateTime`, found `datetime`
src/prefect/server/models/events.py:54:9: error[invalid-argument-type] Argument is incorrect: Expected `Resource`, found `dict[Unknown | str, Unknown | str | None]`
src/prefect/server/models/events.py:69:9: error[invalid-argument-type] Argument is incorrect: Expected `list[RelatedResource]`, found `list[dict[str, str]]`
src/prefect/server/models/events.py:82:9: error[invalid-argument-type] Argument is incorrect: Expected `UUID`, found `UUID | None`
src/prefect/server/models/events.py:356:9: error[invalid-argument-type] Argument is incorrect: Expected `Resource`, found `dict[Unknown | str, Unknown | str]`
src/prefect/server/models/events.py:391:9: error[invalid-argument-type] Argument is incorrect: Expected `Resource`, found `dict[Unknown | str, Unknown | str]`
src/prefect/server/models/events.py:396:9: error[invalid-argument-type] Argument is incorrect: Expected `list[RelatedResource]`, found `list[dict[str, Any]]`
src/prefect/server/models/events.py:413:9: error[invalid-argument-type] Argument is incorrect: Expected `Resource`, found `dict[Unknown | str, Unknown | str]`
src/prefect/server/models/flow_run_input.py:91:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/flow_run_states.py:79:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/flow_runs.py:174:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/flow_runs.py:251:26: error[invalid-type-form] Variable of type `type[Flow]` is not allowed in a type expression
src/prefect/server/models/flow_runs.py:252:26: error[invalid-type-form] Variable of type `type[TaskRun]` is not allowed in a type expression
src/prefect/server/models/flow_runs.py:322:41: error[invalid-argument-type] Argument to function `load_only` is incorrect: Expected `Literal["*"] | QueryableAttribute[Any]`, found `str`
src/prefect/server/models/flow_runs.py:504:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/flow_runs.py:685:19: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/flows.py:83:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/flows.py:290:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/logs.py:113:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/saved_searches.py:146:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/task_run_states.py:74:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/task_runs.py:176:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/task_runs.py:462:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/task_workers.py:71:13: error[invalid-argument-type] Argument is incorrect: Expected `DateTime`, found `datetime`
src/prefect/server/models/variables.py:123:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/variables.py:140:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/variables.py:154:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/variables.py:168:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/work_queues.py:282:15: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/work_queues.py:311:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `Operator`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterId | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterName | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterTags | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterDeploymentId | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterWorkQueueName | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterFlowVersion | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterStartTime | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterEndTime | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterExpectedStartTime | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterNextScheduledStartTime | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterParentFlowRunId | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterParentTaskRunId | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:403:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterIdempotencyKey | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:404:17: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterState | None`, found `dict[str, dict[str, list[Unknown | StateType]]]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `Operator`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterId | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterName | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterTags | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterDeploymentId | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterWorkQueueName | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterFlowVersion | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterStartTime | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterEndTime | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterExpectedStartTime | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterParentFlowRunId | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterParentTaskRunId | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:421:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterIdempotencyKey | None`, found `dict[str, Unknown] | dict[str, Unknown | bool]`
src/prefect/server/models/work_queues.py:422:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterState | None`, found `dict[str, dict[str, list[Unknown | StateType]]]`
src/prefect/server/models/work_queues.py:423:13: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterNextScheduledStartTime | None`, found `dict[str, datetime | None]`
src/prefect/server/models/work_queues.py:491:54: error[invalid-argument-type] Argument is incorrect: Expected `FlowRunFilterStateName | None`, found `dict[Unknown | str, Unknown | list[Unknown | str]]`
src/prefect/server/models/work_queues.py:571:17: error[invalid-argument-type] Argument to function `work_queue_status_event` is incorrect: Expected `DateTime`, found `datetime`
src/prefect/server/models/work_queues.py:609:17: error[invalid-argument-type] Argument to function `work_queue_status_event` is incorrect: Expected `DateTime`, found `datetime`
src/prefect/server/models/work_queues.py:628:13: error[invalid-argument-type] Argument to function `work_queue_status_event` is incorrect: Expected `DateTime`, found `datetime`
src/prefect/server/models/workers.py:253:15: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/workers.py:289:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
src/prefect/server/models/workers.py:626:15: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/workers.py:672:12: error[unresolved-attribute] Module `sqlalchemy` has no member `exc`
src/prefect/server/models/workers.py:755:9: error[invalid-assignment] Invalid subscript assignment with key of type `Literal["heartbeat_interval_seconds"]` and value of type `int` on object of type `dict[str, datetime | WorkerStatus]`
src/prefect/server/models/workers.py:770:12: error[unresolved-attribute] Object of type `Result[Unknown]` has no attribute `rowcount`
src/prefect/server/models/workers.py:799:12: error[unresolved-attribute] Object of type `Result[Any]` has no attribute `rowcount`
Found 130 diagnostics

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,11 +3,17 @@ from __future__ import annotations
import logging
import shlex
import subprocess
import typing
import sys
from pathlib import Path
from typing import Mapping, NamedTuple
if sys.platform == "win32":
import mslex as shlex
else:
import shlex
class Command(typing.NamedTuple):
class Command(NamedTuple):
name: str
"""The name of the command to benchmark."""
@@ -18,7 +24,7 @@ class Command(typing.NamedTuple):
"""The command to run before each benchmark run."""
class Hyperfine(typing.NamedTuple):
class Hyperfine(NamedTuple):
name: str
"""The benchmark to run."""
@@ -37,13 +43,16 @@ class Hyperfine(typing.NamedTuple):
json: bool
"""Whether to export results to JSON."""
def run(self, *, cwd: Path | None = None) -> None:
def run(self, *, cwd: Path | None = None, env: Mapping[str, str]) -> None:
"""Run the benchmark using `hyperfine`."""
args = [
"hyperfine",
# Most repositories have some typing errors.
# This is annoying because it prevents us from capturing "real" errors.
"-i",
# Ignore any warning/error diagnostics but fail if there are any fatal errors, incorrect configuration, etc.
# mypy exit codes: https://github.com/python/mypy/issues/14615#issuecomment-1420163253
# pyright exit codes: https://docs.basedpyright.com/v1.31.6/configuration/command-line/#pyright-exit-codes
# pyrefly exit codes: Not documented
# ty: https://docs.astral.sh/ty/reference/exit-codes/
"--ignore-failure=1",
]
# Export to JSON.
@@ -70,7 +79,4 @@ class Hyperfine(typing.NamedTuple):
logging.info(f"Running {args}")
subprocess.run(
args,
cwd=cwd,
)
subprocess.run(args, cwd=cwd, env=env)

View File

@@ -1,217 +0,0 @@
from __future__ import annotations
import abc
import enum
import logging
import os
import shutil
import subprocess
import sys
from pathlib import Path
from benchmark import Command
from benchmark.projects import Project
class Benchmark(enum.Enum):
"""Enumeration of the benchmarks to run."""
COLD = "cold"
"""Cold check of an entire project without a cache present."""
WARM = "warm"
"""Re-checking the entire project without any changes"."""
def which_tool(name: str) -> Path:
tool = shutil.which(name)
assert tool is not None, (
f"Tool {name} not found. Run the script with `uv run <script>`."
)
return Path(tool)
class Tool(abc.ABC):
def command(
self, benchmark: Benchmark, project: Project, venv: Venv
) -> Command | None:
"""Generate a command to benchmark a given tool."""
match benchmark:
case Benchmark.COLD:
return self.cold_command(project, venv)
case Benchmark.WARM:
return self.warm_command(project, venv)
case _:
raise ValueError(f"Invalid benchmark: {benchmark}")
@abc.abstractmethod
def cold_command(self, project: Project, venv: Venv) -> Command: ...
def warm_command(self, project: Project, venv: Venv) -> Command | None:
return None
class Ty(Tool):
path: Path
name: str
def __init__(self, *, path: Path | None = None):
self.name = str(path) if path else "ty"
self.path = (
path or (Path(__file__) / "../../../../../target/release/ty")
).resolve()
assert self.path.is_file(), (
f"ty not found at '{self.path}'. Run `cargo build --release --bin ty`."
)
def cold_command(self, project: Project, venv: Venv) -> Command:
command = [str(self.path), "check", "-v", *project.include]
command.extend(["--python", str(venv.path)])
return Command(
name=self.name,
command=command,
)
class Mypy(Tool):
path: Path
def __init__(self, *, path: Path | None = None):
self.path = path or which_tool(
"mypy",
)
def cold_command(self, project: Project, venv: Venv) -> Command:
command = [
*self._base_command(project, venv),
"--no-incremental",
"--cache-dir",
os.devnull,
]
return Command(
name="mypy",
command=command,
)
def warm_command(self, project: Project, venv: Venv) -> Command | None:
command = [
str(self.path),
*(project.mypy_arguments or project.include),
"--python-executable",
str(venv.python),
]
return Command(
name="mypy",
command=command,
)
def _base_command(self, project: Project, venv: Venv) -> list[str]:
return [
str(self.path),
"--python-executable",
str(venv.python),
*(project.mypy_arguments or project.include),
]
class Pyright(Tool):
path: Path
def __init__(self, *, path: Path | None = None):
self.path = path or which_tool("pyright")
def cold_command(self, project: Project, venv: Venv) -> Command:
command = [
str(self.path),
"--threads",
"--venvpath",
str(
venv.path.parent
), # This is not the path to the venv folder, but the folder that contains the venv...
*(project.pyright_arguments or project.include),
]
return Command(
name="Pyright",
command=command,
)
class Venv:
path: Path
def __init__(self, path: Path):
self.path = path
@property
def name(self) -> str:
"""The name of the virtual environment directory."""
return self.path.name
@property
def python(self) -> Path:
"""Returns the path to the python executable"""
return self.script("python")
@property
def bin(self) -> Path:
bin_dir = "scripts" if sys.platform == "win32" else "bin"
return self.path / bin_dir
def script(self, name: str) -> Path:
extension = ".exe" if sys.platform == "win32" else ""
return self.bin / f"{name}{extension}"
@staticmethod
def create(parent: Path) -> Venv:
"""Creates a new, empty virtual environment."""
command = [
"uv",
"venv",
"--quiet",
"venv",
]
try:
subprocess.run(
command, cwd=parent, check=True, capture_output=True, text=True
)
except subprocess.CalledProcessError as e:
raise RuntimeError(f"Failed to create venv: {e.stderr}")
root = parent / "venv"
return Venv(root)
def install(self, dependencies: list[str]) -> None:
"""Installs the dependencies required to type check the project."""
logging.debug(f"Installing dependencies: {', '.join(dependencies)}")
command = [
"uv",
"pip",
"install",
"--python",
self.python.as_posix(),
"--quiet",
# We pass `--exclude-newer` to ensure that type-checking of one of
# our projects isn't unexpectedly broken by a change in the
# annotations of one of that project's dependencies
"--exclude-newer",
"2024-09-03T00:00:00Z",
*dependencies,
]
try:
subprocess.run(
command, cwd=self.path, check=True, capture_output=True, text=True
)
except subprocess.CalledProcessError as e:
raise RuntimeError(f"Failed to install dependencies: {e.stderr}")

View File

@@ -1,10 +1,11 @@
import logging
import subprocess
import typing
import sys
from pathlib import Path
from typing import Final, Literal, NamedTuple
class Project(typing.NamedTuple):
class Project(NamedTuple):
name: str
"""The name of the project to benchmark."""
@@ -13,21 +14,23 @@ class Project(typing.NamedTuple):
revision: str
dependencies: list[str]
"""List of type checking dependencies.
install_arguments: list[str]
"""Arguments passed to `uv pip install`.
Dependencies are pinned using a `--exclude-newer` flag when installing them
into the virtual environment; see the `Venv.install()` method for details.
"""
python_version: Literal["3.13", "3.14", "3.12", "3.11", "3.10", "3.9", "3.8"]
skip: str | None = None
"""The project is skipped from benchmarking if not `None`."""
include: list[str] = []
"""The directories and files to check. If empty, checks the current directory"""
pyright_arguments: list[str] | None = None
"""The arguments passed to pyright. Overrides `include` if set."""
mypy_arguments: list[str] | None = None
"""The arguments passed to mypy. Overrides `include` if set."""
exclude: list[str] = []
"""The directories and files to exclude from checks."""
def clone(self, checkout_dir: Path) -> None:
# Skip cloning if the project has already been cloned (the script doesn't yet support updating)
@@ -95,51 +98,190 @@ class Project(typing.NamedTuple):
# Selection of projects taken from
# [mypy-primer](https://github.com/hauntsaninja/mypy_primer/blob/0ea6cc614b3e91084059b9a3acc58f94c066a211/mypy_primer/projects.py#L71).
# May require frequent updating, especially the dependencies list
ALL = [
ALL: Final = [
Project(
name="black",
repository="https://github.com/psf/black",
revision="ac28187bf4a4ac159651c73d3a50fe6d0f653eac",
revision="45b4087976b7880db9dabacc992ee142f2d6c7c7",
python_version="3.10",
include=["src"],
dependencies=[
"aiohttp",
"click",
"pathspec",
"tomli",
"platformdirs",
"packaging",
install_arguments=[
"-r",
"pyproject.toml",
# All extras except jupyter because installing the jupyter optional results in a mypy typing error.
"--extra",
"colorama",
# uvloop is not supported on Windows
*(["--extra", "uvloop"] if sys.platform != "win32" else []),
"--extra",
"d",
],
),
Project(
name="jinja",
repository="https://github.com/pallets/jinja",
revision="b490da6b23b7ad25dc969976f64dc4ffb0a2c182",
include=[],
dependencies=["markupsafe"],
name="discord.py",
repository="https://github.com/Rapptz/discord.py.git",
revision="9be91cb093402f54a44726c7dc4c04ff3b2c5a63",
python_version="3.8",
include=["discord"],
install_arguments=[
"-r",
"pyproject.toml",
"typing_extensions>=4.3,<5",
],
),
# Fairly chunky project, requires the pydantic mypy plugin.
#
# Pyrefly reports significantely more diagnostics than ty and, unlike ty, has partial pydantic support.
# Both could be the reason why Pyrefly is slower than ty (it's notable that it's mainly slower because it has a much higher system time)
Project(
name="pandas",
repository="https://github.com/pandas-dev/pandas",
revision="7945e563d36bcf4694ccc44698829a6221905839",
include=["pandas"],
dependencies=[
"numpy",
"types-python-dateutil",
"types-pytz",
"types-PyMySQL",
"types-setuptools",
"pytest",
name="homeassistant",
repository="https://github.com/home-assistant/core.git",
revision="10c12623bfc0b3a06ffaa88bf986f61818cfb8be",
python_version="3.13",
include=["homeassistant"],
skip="Missing dependencies on Windows" if sys.platform == "win32" else None,
install_arguments=[
"-r",
"requirements_test_all.txt",
"-r",
"requirements.txt",
],
),
Project(
name="isort",
repository="https://github.com/pycqa/isort",
revision="7de182933fd50e04a7c47cc8be75a6547754b19c",
mypy_arguments=["--ignore-missing-imports", "isort"],
revision="ed501f10cb5c1b17aad67358017af18cf533c166",
python_version="3.11",
include=["isort"],
dependencies=["types-setuptools"],
install_arguments=["types-colorama", "colorama"],
),
Project(
name="jinja",
repository="https://github.com/pallets/jinja",
revision="5ef70112a1ff19c05324ff889dd30405b1002044",
python_version="3.10",
include=["src"],
install_arguments=["-r", "pyproject.toml"],
),
Project(
name="pandas",
repository="https://github.com/pandas-dev/pandas",
revision="4d8348341bc4de2f0f90782ecef1b092b9418a19",
include=["pandas", "typings"],
exclude=["pandas/tests"],
python_version="3.11",
install_arguments=[
"-r",
"requirements-dev.txt",
],
),
Project(
name="pandas-stubs",
repository="https://github.com/pandas-dev/pandas-stubs",
revision="ad8cae5bc1f0bc87ce22b4d445e0700976c9dfb4",
include=["pandas-stubs"],
python_version="3.10",
# Uses poetry :(
install_arguments=[
"types-pytz >=2022.1.1",
"types-python-dateutil>=2.8.19",
"numpy >=1.23.5",
"pyarrow >=10.0.1",
"matplotlib >=3.10.1",
"xarray>=22.6.0",
"SQLAlchemy>=2.0.39",
"odfpy >=1.4.1",
"pyxlsb >=1.0.10",
"jinja2 >=3.1",
"scipy >=1.9.1",
"scipy-stubs >=1.15.3.0",
],
),
Project(
name="prefect",
repository="https://github.com/PrefectHQ/prefect.git",
revision="a3db33d4f9ee7a665430ae6017c649d057139bd3",
# See https://github.com/PrefectHQ/prefect/blob/a3db33d4f9ee7a665430ae6017c649d057139bd3/.pre-commit-config.yaml#L33-L39
include=[
"src/prefect/server/models",
"src/prefect/concurrency",
"src/prefect/events",
"src/prefect/input",
],
python_version="3.10",
install_arguments=[
"-r",
"pyproject.toml",
"--group",
"dev",
],
),
Project(
name="pytorch",
repository="https://github.com/pytorch/pytorch.git",
revision="be33b7faf685560bb618561b44b751713a660337",
include=["torch", "caffe2"],
# see https://github.com/pytorch/pytorch/blob/c56655268b4ae575ee4c89c312fd93ca2f5b3ba9/pyrefly.toml#L23
exclude=[
"torch/_inductor/codegen/triton.py",
"tools/linter/adapters/test_device_bias_linter.py",
"tools/code_analyzer/gen_operators_yaml.py",
"torch/_inductor/runtime/triton_heuristics.py",
"torch/_inductor/runtime/triton_helpers.py",
"torch/_inductor/runtime/halide_helpers.py",
"torch/utils/tensorboard/summary.py",
"torch/distributed/flight_recorder/components/types.py",
"torch/linalg/__init__.py",
"torch/package/importer.py",
"torch/package/_package_pickler.py",
"torch/jit/annotations.py",
"torch/utils/data/datapipes/_typing.py",
"torch/nn/functional.py",
"torch/_export/utils.py",
"torch/fx/experimental/unification/multipledispatch/__init__.py",
"torch/nn/modules/__init__.py",
"torch/nn/modules/rnn.py",
"torch/_inductor/codecache.py",
"torch/distributed/elastic/metrics/__init__.py",
"torch/_inductor/fx_passes/bucketing.py",
"torch/onnx/_internal/exporter/_torchlib/ops/nn.py",
"torch/include/**",
"torch/csrc/**",
"torch/distributed/elastic/agent/server/api.py",
"torch/testing/_internal/**",
"torch/distributed/fsdp/fully_sharded_data_parallel.py",
"torch/ao/quantization/pt2e/_affine_quantization.py",
"torch/nn/modules/pooling.py",
"torch/nn/parallel/_functions.py",
"torch/_appdirs.py",
"torch/multiprocessing/pool.py",
"torch/overrides.py",
"*/__pycache__/**",
"*/.*",
],
# See https://github.com/pytorch/pytorch/blob/be33b7faf685560bb618561b44b751713a660337/.lintrunner.toml#L141
install_arguments=[
'numpy==1.26.4 ; python_version >= "3.10" and python_version <= "3.11"',
'numpy==2.1.0 ; python_version >= "3.12" and python_version <= "3.13"',
'numpy==2.3.4 ; python_version >= "3.14"',
"expecttest==0.3.0",
"pyrefly==0.36.2",
"sympy==1.13.3",
"types-requests==2.27.25",
"types-pyyaml==6.0.2",
"types-tabulate==0.8.8",
"types-protobuf==5.29.1.20250403",
"types-setuptools==79.0.0.20250422",
"types-jinja2==2.11.9",
"types-colorama==0.4.6",
"filelock==3.18.0",
"junitparser==2.1.1",
"rich==14.1.0",
"optree==0.17.0",
"types-openpyxl==3.1.5.20250919",
"types-python-dateutil==2.9.0.20251008",
"mypy==1.16.0", # pytorch pins mypy,
],
python_version="3.11",
),
]
DEFAULT: list[str] = ["black", "jinja", "isort"]

View File

@@ -1,19 +1,22 @@
from __future__ import annotations
import argparse
import json
import logging
import os
import tempfile
import typing
from pathlib import Path
from typing import TYPE_CHECKING, Final
from benchmark import Hyperfine
from benchmark.cases import Benchmark, Mypy, Pyright, Tool, Ty, Venv
from benchmark.projects import ALL as all_projects
from benchmark.projects import DEFAULT as default_projects
from benchmark.projects import ALL as ALL_PROJECTS
from benchmark.snapshot import SnapshotRunner
from benchmark.tool import Mypy, Pyrefly, Pyright, Tool, Ty
from benchmark.venv import Venv
if typing.TYPE_CHECKING:
from benchmark.cases import Tool
if TYPE_CHECKING:
from benchmark.tool import Tool
TOOL_CHOICES: Final = ["ty", "pyrefly", "mypy", "pyright"]
def main() -> None:
@@ -36,42 +39,49 @@ def main() -> None:
help="The minimum number of runs to perform.",
default=10,
)
parser.add_argument(
"--benchmark",
"-b",
type=str,
help="The benchmark(s) to run.",
choices=[benchmark.value for benchmark in Benchmark],
action="append",
)
parser.add_argument(
"--project",
"-p",
type=str,
help="The project(s) to run.",
choices=[project.name for project in all_projects],
choices=[project.name for project in ALL_PROJECTS],
action="append",
)
parser.add_argument(
"--mypy",
help="Whether to benchmark `mypy`.",
action="store_true",
)
parser.add_argument(
"--pyright",
help="Whether to benchmark `pyright`.",
action="store_true",
)
parser.add_argument(
"--ty",
help="Whether to benchmark ty (assumes a ty binary exists at `./target/release/ty`).",
action="store_true",
"--tool",
help="Which tool to benchmark.",
choices=TOOL_CHOICES,
action="append",
)
parser.add_argument(
"--ty-path",
type=Path,
help="Path(s) to the ty binary to benchmark.",
action="append",
help="Path to the ty binary to benchmark.",
)
parser.add_argument(
"--single-threaded",
action="store_true",
help="Run the type checkers single threaded",
)
parser.add_argument(
"--warm",
action=argparse.BooleanOptionalAction,
help="Run warm benchmarks in addition to cold benchmarks (for tools supporting it)",
)
parser.add_argument(
"--snapshot",
action="store_true",
help="Run commands and snapshot their output instead of benchmarking with hyperfine.",
)
parser.add_argument(
"--accept",
action="store_true",
help="Accept snapshot changes (only valid with --snapshot).",
)
args = parser.parse_args()
@@ -81,73 +91,101 @@ def main() -> None:
datefmt="%Y-%m-%d %H:%M:%S",
)
# Validate arguments.
if args.accept and not args.snapshot:
parser.error("--accept can only be used with --snapshot")
if args.snapshot and args.warm:
parser.error("--warm cannot be used with --snapshot")
verbose = args.verbose
warmup = args.warmup
min_runs = args.min_runs
# Determine the tools to benchmark, based on the user-provided arguments.
suites: list[Tool] = []
if args.pyright:
suites.append(Pyright())
if args.ty:
suites.append(Ty())
for tool_name in args.tool or TOOL_CHOICES:
match tool_name:
case "ty":
suites.append(Ty(path=args.ty_path))
case "pyrefly":
suites.append(Pyrefly())
case "pyright":
suites.append(Pyright())
case "mypy":
suites.append(Mypy(warm=False))
if args.warm:
suites.append(Mypy(warm=True))
case _:
raise ValueError(f"Unknown tool: {tool_name}")
for path in args.ty_path or []:
suites.append(Ty(path=path))
if args.mypy:
suites.append(Mypy())
# If no tools were specified, default to benchmarking all tools.
suites = suites or [Ty(), Pyright(), Mypy()]
# Determine the benchmarks to run, based on user input.
benchmarks = (
[Benchmark(benchmark) for benchmark in args.benchmark]
if args.benchmark is not None
else list(Benchmark)
projects = (
[project for project in ALL_PROJECTS if project.name in args.project]
if args.project
else ALL_PROJECTS
)
projects = [
project
for project in all_projects
if project.name in (args.project or default_projects)
]
benchmark_env = os.environ.copy()
if args.single_threaded:
benchmark_env["TY_MAX_PARALLELISM"] = "1"
first = True
for project in projects:
if skip_reason := project.skip:
print(f"Skipping {project.name}: {skip_reason}")
continue
with tempfile.TemporaryDirectory() as tempdir:
cwd = Path(tempdir)
project.clone(cwd)
venv = Venv.create(cwd)
venv.install(project.dependencies)
venv = Venv.create(cwd, project.python_version)
venv.install(project.install_arguments)
# Set the `venv` config for pyright. Pyright only respects the `--venvpath`
# CLI option when `venv` is set in the configuration... 🤷‍♂️
with open(cwd / "pyrightconfig.json", "w") as f:
f.write(json.dumps(dict(venv=venv.name)))
commands = []
for benchmark in benchmarks:
# Generate the benchmark command for each tool.
commands = [
command
for suite in suites
if (command := suite.command(benchmark, project, venv))
]
for suite in suites:
suite.write_config(project, venv)
commands.append(suite.command(project, venv, args.single_threaded))
# not all tools support all benchmarks.
if not commands:
continue
if not commands:
continue
print(f"{project.name} ({benchmark.value})")
if not first:
print("")
print(
"-------------------------------------------------------------------------------"
)
print("")
print(f"{project.name}")
print("-" * len(project.name))
print("")
if args.snapshot:
# Get the directory where run.py is located to find snapshots directory.
script_dir = Path(__file__).parent.parent.parent
snapshot_dir = script_dir / "snapshots"
snapshot_runner = SnapshotRunner(
name=f"{project.name}",
commands=commands,
snapshot_dir=snapshot_dir,
accept=args.accept,
)
snapshot_runner.run(cwd=cwd, env=benchmark_env)
else:
hyperfine = Hyperfine(
name=f"{project.name}-{benchmark.value}",
name=f"{project.name}",
commands=commands,
warmup=warmup,
min_runs=min_runs,
verbose=verbose,
json=False,
)
hyperfine.run(cwd=cwd)
hyperfine.run(cwd=cwd, env=benchmark_env)
first = False

View File

@@ -0,0 +1,137 @@
from __future__ import annotations
import difflib
import logging
import re
import subprocess
from pathlib import Path
from typing import Mapping, NamedTuple
from benchmark import Command
def normalize_output(output: str, cwd: Path) -> str:
"""Normalize output by replacing absolute paths with relative placeholders."""
# Replace absolute paths with <CWD>/relative/path.
# This handles both the cwd itself and any paths within it.
cwd_str = str(cwd.resolve())
normalized = output.replace(cwd_str, "<CWD>")
# Replace temp directory patterns (e.g., /var/folders/.../tmp123abc/).
# Match common temp directory patterns across platforms.
normalized = re.sub(
r"/(?:var/folders|tmp)/[a-zA-Z0-9/_-]+/tmp[a-zA-Z0-9]+",
"<TMPDIR>",
normalized,
)
# Normalize unordered lists in error messages (e.g., '"name", "description"' vs '"description", "name"').
# Sort quoted comma-separated items to make them deterministic.
def sort_quoted_items(match):
items = match.group(0)
quoted_items = re.findall(r'"[^"]+"', items)
if len(quoted_items) > 1:
sorted_items = ", ".join(sorted(quoted_items))
return sorted_items
return items
normalized = re.sub(r'"[^"]+"(?:, "[^"]+")+', sort_quoted_items, normalized)
return normalized
class SnapshotRunner(NamedTuple):
name: str
"""The benchmark to run."""
commands: list[Command]
"""The commands to snapshot."""
snapshot_dir: Path
"""Directory to store snapshots."""
accept: bool
"""Whether to accept snapshot changes."""
def run(self, *, cwd: Path, env: Mapping[str, str]):
"""Run commands and snapshot their output."""
# Create snapshot directory if it doesn't exist.
self.snapshot_dir.mkdir(parents=True, exist_ok=True)
all_passed = True
for command in self.commands:
snapshot_file = self.snapshot_dir / f"{self.name}_{command.name}.txt"
# Run the prepare command if provided.
if command.prepare:
logging.info(f"Running prepare: {command.prepare}")
subprocess.run(
command.prepare,
shell=True,
cwd=cwd,
env=env,
capture_output=True,
check=True,
)
# Run the actual command and capture output.
logging.info(f"Running {command.command}")
result = subprocess.run(
command.command,
cwd=cwd,
env=env,
capture_output=True,
text=True,
)
# Get the actual output and combine stdout and stderr for the snapshot.
actual_output = normalize_output(result.stdout + result.stderr, cwd)
# Check if snapshot exists.
if snapshot_file.exists():
expected_output = snapshot_file.read_text()
if actual_output != expected_output:
all_passed = False
print(f"\n❌ Snapshot mismatch for {command.name}")
print(f" Snapshot file: {snapshot_file}")
print("\n" + "=" * 80)
print("Diff:")
print("=" * 80)
# Generate and display a unified diff.
diff = difflib.unified_diff(
expected_output.splitlines(keepends=True),
actual_output.splitlines(keepends=True),
fromfile=f"{command.name} (expected)",
tofile=f"{command.name} (actual)",
lineterm="",
)
for line in diff:
# Color-code the diff output.
if line.startswith("+") and not line.startswith("+++"):
print(f"\033[32m{line}\033[0m", end="")
elif line.startswith("-") and not line.startswith("---"):
print(f"\033[31m{line}\033[0m", end="")
elif line.startswith("@@"):
print(f"\033[36m{line}\033[0m", end="")
else:
print(line, end="")
print("\n" + "=" * 80)
if self.accept:
print(f"✓ Accepting changes for {command.name}")
snapshot_file.write_text(actual_output)
else:
print(f"✓ Snapshot matches for {command.name}")
else:
# No existing snapshot - create it.
print(f"📸 Creating new snapshot for {command.name}")
snapshot_file.write_text(actual_output)
if not all_passed and not self.accept:
print("\n⚠️ Some snapshots don't match. Run with --accept to update them.")

View File

@@ -0,0 +1,236 @@
from __future__ import annotations
import abc
import json
import os
import shutil
import sys
from pathlib import Path
from textwrap import dedent
from typing import TYPE_CHECKING, override
from benchmark import Command
from benchmark.projects import Project
if TYPE_CHECKING:
from benchmark.venv import Venv
def which_tool(name: str, path: Path | None = None) -> Path:
tool = shutil.which(name, path=path)
assert tool is not None, (
f"Tool {name} not found. Run the script with `uv run <script>`."
)
return Path(tool)
class Tool(abc.ABC):
def write_config(self, project: Project, venv: Venv) -> None:
"""Write the tool's configuration file."""
if config := self.config(project, venv):
config_name, config_text = config
config_path = venv.project_path / config_name
config_path.write_text(dedent(config_text))
def config(self, project: Project, venv: Venv) -> tuple[Path, str] | None:
"""Returns the path to the tool's configuration file with the configuration
content or `None` if the tool requires no configuration file.
We write a configuration over using CLI arguments because
most LSPs don't accept per CLI.
"""
return None
@abc.abstractmethod
def command(self, project: Project, venv: Venv, single_threaded: bool) -> Command:
"""Generate a command to benchmark a given tool."""
class Ty(Tool):
path: Path
name: str
def __init__(self, *, path: Path | None = None):
self.name = str(path) if path else "ty"
executable = "ty.exe" if sys.platform == "win32" else "ty"
self.path = (
path or (Path(__file__) / "../../../../../target/release" / executable)
).resolve()
assert self.path.is_file(), (
f"ty not found at '{self.path}'. Run `cargo build --release --bin ty`."
)
@override
def config(self, project: Project, venv: Venv):
return (
Path("ty.toml"),
f"""
[src]
include = [{", ".join([f'"{include}"' for include in project.include])}]
exclude = [{", ".join([f'"{exclude}"' for exclude in project.exclude])}]
[environment]
python-version = "{project.python_version}"
python = "{venv.path.as_posix()}"
""",
)
@override
def command(self, project: Project, venv: Venv, single_threaded: bool) -> Command:
command = [
str(self.path),
"check",
"--output-format=concise",
"--no-progress",
]
for exclude in project.exclude:
command.extend(["--exclude", exclude])
return Command(name=self.name, command=command)
class Mypy(Tool):
path: Path | None
warm: bool
def __init__(self, *, warm: bool, path: Path | None = None):
self.path = path
self.warm = warm
@override
def command(self, project: Project, venv: Venv, single_threaded: bool) -> Command:
path = self.path or which_tool("mypy", venv.bin)
command = [
str(path),
"--python-executable",
str(venv.python.as_posix()),
"--python-version",
project.python_version,
"--no-pretty",
*project.include,
"--check-untyped-defs",
]
for exclude in project.exclude:
# Mypy uses regex...
# This is far from perfect, but not terrible.
command.extend(
[
"--exclude",
exclude.replace(".", r"\.")
.replace("**", ".*")
.replace("*", r"\w.*"),
]
)
if not self.warm:
command.extend(
[
"--no-incremental",
"--cache-dir",
os.devnull,
]
)
return Command(
name="mypy (warm)" if self.warm else "mypy",
command=command,
)
class Pyright(Tool):
path: Path
def __init__(self, *, path: Path | None = None):
if path:
self.path = path
else:
if sys.platform == "win32":
self.path = Path("./node_modules/.bin/pyright.cmd").resolve()
else:
self.path = Path("./node_modules/.bin/pyright").resolve()
if not self.path.exists():
print(
"Pyright executable not found. Did you ran `npm install` in the `ty_benchmark` directory?"
)
@override
def config(self, project: Project, venv: Venv):
return (
Path("pyrightconfig.json"),
json.dumps(
{
"exclude": [str(path) for path in project.exclude],
# Set the `venv` config for pyright. Pyright only respects the `--venvpath`
# CLI option when `venv` is set in the configuration... 🤷‍♂️
"venv": venv.name,
# This is not the path to the venv folder, but the folder that contains the venv...
"venvPath": str(venv.path.parent.as_posix()),
"pythonVersion": project.python_version,
}
),
)
def command(self, project: Project, venv: Venv, single_threaded: bool) -> Command:
command = [str(self.path), "--skipunannotated"]
if not single_threaded:
command.append("--threads")
command.extend(
[
"--level=warning",
"--project",
"pyrightconfig.json",
*project.include,
]
)
return Command(
name="Pyright",
command=command,
)
class Pyrefly(Tool):
path: Path
def __init__(self, *, path: Path | None = None):
self.path = path or which_tool("pyrefly")
@override
def config(self, project: Project, venv: Venv):
return (
Path("pyrefly.toml"),
f"""
project-includes = [{", ".join([f'"{include}"' for include in project.include])}]
project-excludes = [{", ".join([f'"{exclude}"' for exclude in project.exclude])}]
python-interpreter-path = "{venv.python.as_posix()}"
python-version = "{project.python_version}"
site-package-path = ["{venv.path.as_posix()}"]
ignore-missing-source = true
untyped-def-behavior="check-and-infer-return-any"
""",
)
@override
def command(self, project: Project, venv: Venv, single_threaded: bool) -> Command:
command = [
str(self.path),
"check",
"--output-format=min-text",
]
if single_threaded:
command.extend(["--threads", "1"])
return Command(
name="Pyrefly",
command=command,
)

View File

@@ -0,0 +1,90 @@
from __future__ import annotations
import logging
import subprocess
import sys
from pathlib import Path
class Venv:
project_path: Path
def __init__(self, path: Path):
self.project_path = path
@property
def path(self) -> Path:
return self.project_path / "venv"
@property
def name(self) -> str:
"""The name of the virtual environment directory."""
return self.path.name
@property
def python(self) -> Path:
"""Returns the path to the python executable"""
return self.script("python")
@property
def bin(self) -> Path:
bin_dir = "scripts" if sys.platform == "win32" else "bin"
return self.path / bin_dir
def script(self, name: str) -> Path:
extension = ".exe" if sys.platform == "win32" else ""
return self.bin / f"{name}{extension}"
@staticmethod
def create(parent: Path, python_version: str) -> Venv:
"""Creates a new, empty virtual environment."""
command = [
"uv",
"venv",
"--quiet",
"--python",
python_version,
"venv",
]
try:
subprocess.run(
command, cwd=parent, check=True, capture_output=True, text=True
)
except subprocess.CalledProcessError as e:
raise RuntimeError(f"Failed to create venv: {e.stderr}")
return Venv(parent)
def install(self, pip_install_args: list[str]) -> None:
"""Installs the dependencies required to type check the project."""
logging.debug(f"Installing dependencies: {', '.join(pip_install_args)}")
command = [
"uv",
"pip",
"install",
"--python",
self.python.as_posix(),
"--quiet",
# We pass `--exclude-newer` to ensure that type-checking of one of
# our projects isn't unexpectedly broken by a change in the
# annotations of one of that project's dependencies
"--exclude-newer",
"2025-11-17T00:00:00Z",
"mypy", # We need to install mypy into the virtual environment or it fails to load plugins.
*pip_install_args,
]
try:
subprocess.run(
command,
cwd=self.project_path,
check=True,
capture_output=True,
text=True,
)
except subprocess.CalledProcessError as e:
raise RuntimeError(f"Failed to install dependencies: {e.stderr}")

View File

@@ -1,53 +1,30 @@
version = 1
revision = 2
revision = 3
requires-python = ">=3.12"
[[package]]
name = "mypy"
version = "1.11.1"
name = "mslex"
version = "1.3.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "mypy-extensions" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b6/9c/a4b3bda53823439cf395db8ecdda6229a83f9bf201714a68a15190bb2919/mypy-1.11.1.tar.gz", hash = "sha256:f404a0b069709f18bbdb702eb3dcfe51910602995de00bd39cea3050b5772d08", size = 3078369, upload_time = "2024-07-30T22:38:50.835Z" }
sdist = { url = "https://files.pythonhosted.org/packages/e0/97/7022667073c99a0fe028f2e34b9bf76b49a611afd21b02527fbfd92d4cd5/mslex-1.3.0.tar.gz", hash = "sha256:641c887d1d3db610eee2af37a8e5abda3f70b3006cdfd2d0d29dc0d1ae28a85d", size = 11583, upload-time = "2024-10-16T13:16:18.523Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/3a/34/69638cee2e87303f19a0c35e80d42757e14d9aba328f272fdcdc0bf3c9b8/mypy-1.11.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f39918a50f74dc5969807dcfaecafa804fa7f90c9d60506835036cc1bc891dc8", size = 10995789, upload_time = "2024-07-30T22:37:57.824Z" },
{ url = "https://files.pythonhosted.org/packages/c4/3c/3e0611348fc53a4a7c80485959478b4f6eae706baf3b7c03cafa22639216/mypy-1.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0bc71d1fb27a428139dd78621953effe0d208aed9857cb08d002280b0422003a", size = 10002696, upload_time = "2024-07-30T22:38:08.325Z" },
{ url = "https://files.pythonhosted.org/packages/1c/21/a6b46c91b4c9d1918ee59c305f46850cde7cbea748635a352e7c3c8ed204/mypy-1.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b868d3bcff720dd7217c383474008ddabaf048fad8d78ed948bb4b624870a417", size = 12505772, upload_time = "2024-07-30T22:37:23.589Z" },
{ url = "https://files.pythonhosted.org/packages/c4/55/07904d4c8f408e70308015edcbff067eaa77514475938a9dd81b063de2a8/mypy-1.11.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a707ec1527ffcdd1c784d0924bf5cb15cd7f22683b919668a04d2b9c34549d2e", size = 12954190, upload_time = "2024-07-30T22:37:31.244Z" },
{ url = "https://files.pythonhosted.org/packages/1e/b7/3a50f318979c8c541428c2f1ee973cda813bcc89614de982dafdd0df2b3e/mypy-1.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:64f4a90e3ea07f590c5bcf9029035cf0efeae5ba8be511a8caada1a4893f5525", size = 9663138, upload_time = "2024-07-30T22:37:19.849Z" },
{ url = "https://files.pythonhosted.org/packages/f8/d4/4960d0df55f30a7625d9c3c9414dfd42f779caabae137ef73ffaed0c97b9/mypy-1.11.1-py3-none-any.whl", hash = "sha256:0624bdb940255d2dd24e829d99a13cfeb72e4e9031f9492148f410ed30bcab54", size = 2619257, upload_time = "2024-07-30T22:37:40.567Z" },
{ url = "https://files.pythonhosted.org/packages/64/f2/66bd65ca0139675a0d7b18f0bada6e12b51a984e41a76dbe44761bf1b3ee/mslex-1.3.0-py3-none-any.whl", hash = "sha256:c7074b347201b3466fc077c5692fbce9b5f62a63a51f537a53fbbd02eff2eea4", size = 7820, upload-time = "2024-10-16T13:16:17.566Z" },
]
[[package]]
name = "mypy-extensions"
version = "1.0.0"
name = "pyrefly"
version = "0.42.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433, upload_time = "2023-02-04T12:11:27.157Z" }
sdist = { url = "https://files.pythonhosted.org/packages/cb/a4/6faf9e361689cbdd4752a0561efb9191f176c5af4ae808ec97beef9aaa50/pyrefly-0.42.1.tar.gz", hash = "sha256:18f569fee2f48ea75f35a7b0d6232c2f409ecdc7343cee786e3f7d80028fc113", size = 3851967, upload-time = "2025-11-18T06:03:56.314Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695, upload_time = "2023-02-04T12:11:25.002Z" },
]
[[package]]
name = "nodeenv"
version = "1.9.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload_time = "2024-06-04T18:44:11.171Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload_time = "2024-06-04T18:44:08.352Z" },
]
[[package]]
name = "pyright"
version = "1.1.377"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "nodeenv" },
]
sdist = { url = "https://files.pythonhosted.org/packages/49/f0/25b0db363d6888164adb7c828b877bbf2c30936955fb9513922ae03e70e4/pyright-1.1.377.tar.gz", hash = "sha256:aabc30fedce0ded34baa0c49b24f10e68f4bfc8f68ae7f3d175c4b0f256b4fcf", size = 17484, upload_time = "2024-08-21T02:25:15.74Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/34/c9/89c40c4de44fe9463e77dddd0c4e2d2dd7a93e8ddc6858dfe7d5f75d263d/pyright-1.1.377-py3-none-any.whl", hash = "sha256:af0dd2b6b636c383a6569a083f8c5a8748ae4dcde5df7914b3f3f267e14dd162", size = 18223, upload_time = "2024-08-21T02:25:14.585Z" },
{ url = "https://files.pythonhosted.org/packages/fa/ac/c0ac659456187f948209ff2195d754bb7922b4332c3801e66e38897968f2/pyrefly-0.42.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:cfdd79dfa4836a2947c0ddc75f26fc7c0a681ae92d03fb72830767808f404a62", size = 9509024, upload-time = "2025-11-18T06:03:39.109Z" },
{ url = "https://files.pythonhosted.org/packages/62/56/344139a1733628804d82bc328b4ee69b6175e9d0ce7d829ba5ef2fe8403e/pyrefly-0.42.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:747521ed8a99d814a9754b3f98066c8b03e9edadb51b7184b86bc4614e4b50a1", size = 9024185, upload-time = "2025-11-18T06:03:41.353Z" },
{ url = "https://files.pythonhosted.org/packages/de/cd/f320908a150487472957f3a0c4d977483024cc2aff5ddd62d0c4ec4dfa2f/pyrefly-0.42.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2084f0fe4cb0a9df3ac1aba6550ddbd980a2b166604ed70d8d34cf1a048067ad", size = 9258639, upload-time = "2025-11-18T06:03:43.411Z" },
{ url = "https://files.pythonhosted.org/packages/3b/62/128ea27ac7ad19b837b34811bcfd9b65806daf152c64f904e3c76ceb2cec/pyrefly-0.42.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30194ef7428b4060be2fb5fa0a41227b8d4db73bf009aa97ffc930ced3bb234f", size = 10174041, upload-time = "2025-11-18T06:03:45.739Z" },
{ url = "https://files.pythonhosted.org/packages/2b/89/6dabc2a96a97e2d7533517033aab2d0ba98bdaac59c35d7fe22d85f8c78b/pyrefly-0.42.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4a4472a42c7f9eaada8a16d61983114299847d35dece68de698dbb90770710", size = 9797317, upload-time = "2025-11-18T06:03:47.863Z" },
{ url = "https://files.pythonhosted.org/packages/ca/a6/071e08ab9b287b3d41fdc7f564ce63bb2eab9a415746d0a48b2794b20871/pyrefly-0.42.1-py3-none-win32.whl", hash = "sha256:84bb9a8ea5b79da065c855673d98fe28b45ebe4b1ed933f1e7da0ba335a40c86", size = 9325929, upload-time = "2025-11-18T06:03:49.925Z" },
{ url = "https://files.pythonhosted.org/packages/5d/69/1b8a133006eb83a75891865a706e981040318b0d7198e14838040b46cd04/pyrefly-0.42.1-py3-none-win_amd64.whl", hash = "sha256:825f5240d1b20490ac87bb880211b30fa532f634bd65c76e5bab656ad47eb80b", size = 9793448, upload-time = "2025-11-18T06:03:52.372Z" },
{ url = "https://files.pythonhosted.org/packages/85/a1/e9c7fe11ebea2b18bcbcb26c4be8c87d25ddc1e3ff1cf942aabce1e0f637/pyrefly-0.42.1-py3-none-win_arm64.whl", hash = "sha256:b0ff3be4beaab9131b6f08b1156fc62d37e977802b5c6c626ad1a1141c2b2e65", size = 9345936, upload-time = "2025-11-18T06:03:54.233Z" },
]
[[package]]
@@ -55,21 +32,12 @@ name = "ty-benchmark"
version = "0.0.1"
source = { editable = "." }
dependencies = [
{ name = "mypy" },
{ name = "pyright" },
{ name = "mslex" },
{ name = "pyrefly" },
]
[package.metadata]
requires-dist = [
{ name = "mypy" },
{ name = "pyright" },
]
[[package]]
name = "typing-extensions"
version = "4.12.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321, upload_time = "2024-06-07T18:52:15.995Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438, upload_time = "2024-06-07T18:52:13.582Z" },
{ name = "mslex", specifier = ">=1.3.0" },
{ name = "pyrefly", specifier = ">=0.41.3" },
]

View File

@@ -43,7 +43,7 @@ def format_number(number: int) -> str:
# underscore-delimited in the generated file, so we now preserve that property to
# avoid unnecessary churn.
if number > 100000:
number = str(number)
number: str = str(number)
number = "_".join(number[i : i + 3] for i in range(0, len(number), 3))
return f"{number}_u32"