Compare commits
1 Commits
david/type
...
alex/submo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4c86b40ee1 |
4
.github/workflows/ci.yaml
vendored
4
.github/workflows/ci.yaml
vendored
@@ -284,10 +284,6 @@ 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:
|
||||
|
||||
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -5,6 +5,5 @@
|
||||
"rust-analyzer.check.command": "clippy",
|
||||
"search.exclude": {
|
||||
"**/*.snap": true
|
||||
},
|
||||
"ty.diagnosticMode": "openFilesOnly"
|
||||
}
|
||||
}
|
||||
|
||||
138
crates/ty/docs/rules.md
generated
138
crates/ty/docs/rules.md
generated
@@ -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#L127" target="_blank">View source</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>
|
||||
</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#L171" target="_blank">View source</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>
|
||||
</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#L197" target="_blank">View source</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>
|
||||
</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#L222" target="_blank">View source</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>
|
||||
</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#L248" target="_blank">View source</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>
|
||||
</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#L313" target="_blank">View source</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>
|
||||
</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#L334" target="_blank">View source</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>
|
||||
</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#L538" target="_blank">View source</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>
|
||||
</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#L562" target="_blank">View source</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>
|
||||
</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#L366" target="_blank">View source</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>
|
||||
</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#L616" target="_blank">View source</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>
|
||||
</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#L656" target="_blank">View source</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>
|
||||
</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#L1815" target="_blank">View source</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>
|
||||
</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#L678" target="_blank">View source</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>
|
||||
</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#L708" target="_blank">View source</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>
|
||||
</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#L759" target="_blank">View source</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>
|
||||
</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#L780" target="_blank">View source</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>
|
||||
</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#L803" target="_blank">View source</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>
|
||||
</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#L839" target="_blank">View source</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>
|
||||
</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#L583" target="_blank">View source</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>
|
||||
</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#L865" target="_blank">View source</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>
|
||||
</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#L962" target="_blank">View source</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>
|
||||
</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#L1943" target="_blank">View source</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>
|
||||
</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#L512" target="_blank">View source</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>
|
||||
</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#L938" target="_blank">View source</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>
|
||||
</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#L989" target="_blank">View source</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>
|
||||
</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#L1088" target="_blank">View source</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>
|
||||
</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#L893" target="_blank">View source</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>
|
||||
</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#L448" target="_blank">View source</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>
|
||||
</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#L1108" target="_blank">View source</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>
|
||||
</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#L637" target="_blank">View source</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>
|
||||
</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#L1151" target="_blank">View source</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>
|
||||
</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#L917" target="_blank">View source</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>
|
||||
</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#L1190" target="_blank">View source</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>
|
||||
</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#L1214" target="_blank">View source</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>
|
||||
</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#L1266" target="_blank">View source</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>
|
||||
</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#L1238" target="_blank">View source</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>
|
||||
</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#L1294" target="_blank">View source</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>
|
||||
</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#L1323" target="_blank">View source</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>
|
||||
</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#L1916" target="_blank">View source</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>
|
||||
</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#L1342" target="_blank">View source</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>
|
||||
</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#L1365" target="_blank">View source</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>
|
||||
</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#L1383" target="_blank">View source</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>
|
||||
</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#L1434" target="_blank">View source</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>
|
||||
</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#L1669" target="_blank">View source</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>
|
||||
</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#L1791" target="_blank">View source</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>
|
||||
</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#L1525" target="_blank">View source</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>
|
||||
</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#L1570" target="_blank">View source</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>
|
||||
</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#L1548" target="_blank">View source</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>
|
||||
</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#L1591" target="_blank">View source</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>
|
||||
</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#L1648" target="_blank">View source</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>
|
||||
</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#L1690" target="_blank">View source</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>
|
||||
</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#L1712" target="_blank">View source</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>
|
||||
</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#L1731" target="_blank">View source</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>
|
||||
</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#L1403" target="_blank">View source</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>
|
||||
</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#L1750" target="_blank">View source</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>
|
||||
</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#L1772" target="_blank">View source</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>
|
||||
</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#L477" target="_blank">View source</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>
|
||||
</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#L292" target="_blank">View source</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>
|
||||
</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#L1455" target="_blank">View source</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>
|
||||
</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#L145" target="_blank">View source</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>
|
||||
</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#L1477" target="_blank">View source</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>
|
||||
</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#L1843" target="_blank">View source</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>
|
||||
</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#L1630" target="_blank">View source</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>
|
||||
</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#L1864" target="_blank">View source</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>
|
||||
</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#L726" target="_blank">View source</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>
|
||||
</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#L1032" target="_blank">View source</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>
|
||||
</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#L274" target="_blank">View source</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>
|
||||
</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#L1503" target="_blank">View source</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>
|
||||
</small>
|
||||
|
||||
|
||||
|
||||
@@ -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,12 +15,10 @@ pub struct InlayHint {
|
||||
pub position: TextSize,
|
||||
pub kind: InlayHintKind,
|
||||
pub label: InlayHintLabel,
|
||||
pub text_edits: Vec<InlayHintTextEdit>,
|
||||
}
|
||||
|
||||
impl InlayHint {
|
||||
fn variable_type(expr: &Expr, ty: Type, db: &dyn Db, allow_edits: bool) -> Self {
|
||||
let position = expr.range().end();
|
||||
fn variable_type(position: TextSize, ty: Type, db: &dyn Db) -> Self {
|
||||
// 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();
|
||||
|
||||
@@ -36,7 +34,7 @@ impl InlayHint {
|
||||
let mut label_parts = vec![": ".into()];
|
||||
for (target, detail) in details.targets.iter().zip(&details.details) {
|
||||
match detail {
|
||||
TypeDetail::Type(ty) => {
|
||||
ty_python_semantic::types::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
|
||||
@@ -52,9 +50,9 @@ impl InlayHint {
|
||||
offset = end;
|
||||
}
|
||||
}
|
||||
TypeDetail::SignatureStart
|
||||
| TypeDetail::SignatureEnd
|
||||
| TypeDetail::Parameter(_) => {
|
||||
ty_python_semantic::types::TypeDetail::SignatureStart
|
||||
| ty_python_semantic::types::TypeDetail::SignatureEnd
|
||||
| ty_python_semantic::types::TypeDetail::Parameter(_) => {
|
||||
// Don't care about these
|
||||
}
|
||||
}
|
||||
@@ -64,20 +62,10 @@ 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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +83,6 @@ impl InlayHint {
|
||||
position,
|
||||
kind: InlayHintKind::CallArgumentName,
|
||||
label: InlayHintLabel { parts: label_parts },
|
||||
text_edits: vec![],
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,12 +175,6 @@ 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,
|
||||
@@ -253,7 +234,6 @@ struct InlayHintVisitor<'a, 'db> {
|
||||
in_assignment: bool,
|
||||
range: TextRange,
|
||||
settings: &'a InlayHintSettings,
|
||||
in_no_edits_allowed: bool,
|
||||
}
|
||||
|
||||
impl<'a, 'db> InlayHintVisitor<'a, 'db> {
|
||||
@@ -265,16 +245,15 @@ impl<'a, 'db> InlayHintVisitor<'a, 'db> {
|
||||
in_assignment: false,
|
||||
range,
|
||||
settings,
|
||||
in_no_edits_allowed: false,
|
||||
}
|
||||
}
|
||||
|
||||
fn add_type_hint(&mut self, expr: &Expr, ty: Type<'db>, allow_edits: bool) {
|
||||
fn add_type_hint(&mut self, position: TextSize, ty: Type<'db>) {
|
||||
if !self.settings.variable_types {
|
||||
return;
|
||||
}
|
||||
|
||||
let inlay_hint = InlayHint::variable_type(expr, ty, self.db, allow_edits);
|
||||
let inlay_hint = InlayHint::variable_type(position, ty, self.db);
|
||||
|
||||
self.hints.push(inlay_hint);
|
||||
}
|
||||
@@ -318,13 +297,9 @@ 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);
|
||||
@@ -350,7 +325,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, ty, !self.in_no_edits_allowed);
|
||||
self.add_type_hint(expr.range().end(), ty);
|
||||
}
|
||||
}
|
||||
source_order::walk_expr(self, expr);
|
||||
@@ -359,7 +334,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, ty, !self.in_no_edits_allowed);
|
||||
self.add_type_hint(expr.range().end(), ty);
|
||||
}
|
||||
}
|
||||
source_order::walk_expr(self, expr);
|
||||
@@ -445,22 +420,6 @@ 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::*;
|
||||
@@ -468,7 +427,6 @@ 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,
|
||||
@@ -559,15 +517,12 @@ 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 inlay_hint_buf = source_text(&self.db, self.file).as_str().to_string();
|
||||
let mut text_edit_buf = inlay_hint_buf.clone();
|
||||
let mut buf = source_text(&self.db, self.file).as_str().to_string();
|
||||
|
||||
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();
|
||||
@@ -583,65 +538,36 @@ 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();
|
||||
|
||||
inlay_hint_buf.insert_str(end_position, &hint_str);
|
||||
buf.insert_str(end_position, &hint_str);
|
||||
}
|
||||
|
||||
self.db.write_file("main2.py", &inlay_hint_buf).unwrap();
|
||||
self.db.write_file("main2.py", &buf).unwrap();
|
||||
let inlayed_file =
|
||||
system_path_to_file(&self.db, "main2.py").expect("newly written file to existing");
|
||||
|
||||
let location_diagnostics = tbd_diagnostics.into_iter().map(|(label_range, target)| {
|
||||
let diagnostics = tbd_diagnostics.into_iter().map(|(label_range, target)| {
|
||||
InlayHintLocationDiagnostic::new(FileRange::new(inlayed_file, label_range), &target)
|
||||
});
|
||||
|
||||
let mut rendered_diagnostics = location_diagnostics
|
||||
.map(|diagnostic| self.render_diagnostic(diagnostic))
|
||||
.join("");
|
||||
let mut rendered_diagnostics = self.render_diagnostics(diagnostics);
|
||||
|
||||
if !rendered_diagnostics.is_empty() {
|
||||
rendered_diagnostics = format!(
|
||||
"{}{}",
|
||||
crate::MarkupKind::PlainText.horizontal_line(),
|
||||
rendered_diagnostics
|
||||
.strip_suffix("\n")
|
||||
.unwrap_or(&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}",)
|
||||
format!("{buf}{rendered_diagnostics}",)
|
||||
}
|
||||
|
||||
fn render_diagnostic<D>(&self, diagnostic: D) -> String
|
||||
fn render_diagnostics<I, D>(&self, diagnostics: I) -> String
|
||||
where
|
||||
I: IntoIterator<Item = D>,
|
||||
D: IntoDiagnostic,
|
||||
{
|
||||
use std::fmt::Write;
|
||||
@@ -652,8 +578,10 @@ mod tests {
|
||||
.color(false)
|
||||
.format(DiagnosticFormat::Full);
|
||||
|
||||
let diag = diagnostic.into_diagnostic();
|
||||
write!(buf, "{}", diag.display(&self.db, &config)).unwrap();
|
||||
for diagnostic in diagnostics {
|
||||
let diag = diagnostic.into_diagnostic();
|
||||
write!(buf, "{}", diag.display(&self.db, &config)).unwrap();
|
||||
}
|
||||
|
||||
buf
|
||||
}
|
||||
@@ -800,20 +728,6 @@ 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
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -1407,20 +1321,6 @@ 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
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -1754,18 +1654,6 @@ 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
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -1803,15 +1691,6 @@ 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
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -1931,18 +1810,6 @@ 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)
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -2773,22 +2640,6 @@ 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]
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -2960,19 +2811,6 @@ 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())
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -3843,20 +3681,6 @@ 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")))
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -4012,20 +3836,6 @@ 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)
|
||||
");
|
||||
}
|
||||
|
||||
@@ -4091,20 +3901,6 @@ 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)
|
||||
");
|
||||
}
|
||||
|
||||
@@ -4173,22 +3969,6 @@ 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())
|
||||
");
|
||||
}
|
||||
|
||||
@@ -4263,24 +4043,6 @@ 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])
|
||||
");
|
||||
}
|
||||
|
||||
@@ -4431,17 +4193,6 @@ 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])
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -4627,15 +4378,6 @@ 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)
|
||||
");
|
||||
}
|
||||
|
||||
@@ -4708,15 +4450,6 @@ 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)
|
||||
");
|
||||
}
|
||||
|
||||
@@ -5464,15 +5197,6 @@ 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")
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -5615,23 +5339,6 @@ 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
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -5747,13 +5454,6 @@ 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)
|
||||
"#);
|
||||
}
|
||||
|
||||
@@ -5793,16 +5493,6 @@ 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
|
||||
");
|
||||
}
|
||||
|
||||
@@ -6120,180 +5810,6 @@ 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,
|
||||
@@ -6331,31 +5847,4 @@ 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,9 +33,7 @@ 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, InlayHintTextEdit, inlay_hints,
|
||||
};
|
||||
pub use inlay_hints::{InlayHintKind, InlayHintLabel, InlayHintSettings, inlay_hints};
|
||||
pub use markup::MarkupKind;
|
||||
pub use references::ReferencesMode;
|
||||
pub use rename::{can_rename, rename};
|
||||
|
||||
@@ -2712,9 +2712,9 @@ import foo
|
||||
import baz
|
||||
|
||||
# error: [possibly-missing-attribute]
|
||||
reveal_type(foo.bar) # revealed: Unknown
|
||||
reveal_type(foo.bar) # revealed: <module 'foo.bar'>
|
||||
# error: [possibly-missing-attribute]
|
||||
reveal_type(baz.bar) # revealed: Unknown
|
||||
reveal_type(baz.bar) # revealed: <module 'baz.bar'>
|
||||
```
|
||||
|
||||
## References
|
||||
|
||||
@@ -237,26 +237,4 @@ 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
|
||||
|
||||
@@ -171,7 +171,7 @@ class Config:
|
||||
import generic_a
|
||||
import generic_b
|
||||
|
||||
# error: [invalid-assignment] "Object of type `<class 'generic_b.Container[int]'>` is not assignable to `type[generic_a.Container[int]]`"
|
||||
# TODO should be 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]
|
||||
```
|
||||
|
||||
|
||||
@@ -22,10 +22,8 @@ from ty_extensions import ConstraintSet, generic_context
|
||||
# fmt: off
|
||||
|
||||
def unbounded[T]():
|
||||
# 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)))
|
||||
reveal_type(generic_context(unbounded).specialize_constrained(ConstraintSet.always()))
|
||||
# revealed: None
|
||||
reveal_type(generic_context(unbounded).specialize_constrained(ConstraintSet.never()))
|
||||
|
||||
@@ -90,7 +88,6 @@ 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
|
||||
@@ -171,16 +168,12 @@ 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.range(Never, T, object)))
|
||||
reveal_type(generic_context(constrained_by_gradual).specialize_constrained(ConstraintSet.always()))
|
||||
# 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]
|
||||
@@ -188,14 +181,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 = Base]
|
||||
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = Super]
|
||||
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 = Base]
|
||||
# revealed: ty_extensions.Specialization[T@constrained_by_gradual = object]
|
||||
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]
|
||||
@@ -295,7 +288,7 @@ class Unrelated: ...
|
||||
# fmt: off
|
||||
|
||||
def mutually_bound[T: Base, U]():
|
||||
# revealed: ty_extensions.Specialization[T@mutually_bound = Base, U@mutually_bound = Unknown]
|
||||
# revealed: ty_extensions.Specialization[T@mutually_bound = Base, U@mutually_bound = object]
|
||||
reveal_type(generic_context(mutually_bound).specialize_constrained(ConstraintSet.always()))
|
||||
# revealed: None
|
||||
reveal_type(generic_context(mutually_bound).specialize_constrained(ConstraintSet.never()))
|
||||
@@ -303,7 +296,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 = Unknown]
|
||||
# revealed: ty_extensions.Specialization[T@mutually_bound = Sub, U@mutually_bound = object]
|
||||
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)))
|
||||
|
||||
@@ -61,7 +61,7 @@ import mypackage
|
||||
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
# error: [possibly-missing-attribute] "Submodule `fails` may not be available"
|
||||
reveal_type(mypackage.fails.Y) # revealed: Unknown
|
||||
reveal_type(mypackage.fails.Y) # revealed: int
|
||||
```
|
||||
|
||||
### In Non-Stub
|
||||
@@ -91,7 +91,7 @@ import mypackage
|
||||
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
# error: [possibly-missing-attribute] "Submodule `fails` may not be available"
|
||||
reveal_type(mypackage.fails.Y) # revealed: Unknown
|
||||
reveal_type(mypackage.fails.Y) # revealed: int
|
||||
```
|
||||
|
||||
## Absolute `from` Import of Direct Submodule in `__init__`
|
||||
@@ -126,7 +126,7 @@ import mypackage
|
||||
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
# error: [possibly-missing-attribute] "Submodule `fails` may not be available"
|
||||
reveal_type(mypackage.fails.Y) # revealed: Unknown
|
||||
reveal_type(mypackage.fails.Y) # revealed: int
|
||||
```
|
||||
|
||||
### In Non-Stub
|
||||
@@ -156,7 +156,7 @@ import mypackage
|
||||
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
# error: [possibly-missing-attribute] "Submodule `fails` may not be available"
|
||||
reveal_type(mypackage.fails.Y) # revealed: Unknown
|
||||
reveal_type(mypackage.fails.Y) # revealed: int
|
||||
```
|
||||
|
||||
## Import of Direct Submodule in `__init__`
|
||||
@@ -185,7 +185,7 @@ import mypackage
|
||||
|
||||
# TODO: this could work and would be nice to have?
|
||||
# error: [possibly-missing-attribute] "Submodule `imported` may not be available"
|
||||
reveal_type(mypackage.imported.X) # revealed: Unknown
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
```
|
||||
|
||||
### In Non-Stub
|
||||
@@ -209,7 +209,7 @@ import mypackage
|
||||
|
||||
# TODO: this could work and would be nice to have
|
||||
# error: [possibly-missing-attribute] "Submodule `imported` may not be available"
|
||||
reveal_type(mypackage.imported.X) # revealed: Unknown
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
```
|
||||
|
||||
## Relative `from` Import of Nested Submodule in `__init__`
|
||||
@@ -243,9 +243,9 @@ import mypackage
|
||||
|
||||
reveal_type(mypackage.submodule) # revealed: <module 'mypackage.submodule'>
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule.nested) # revealed: <module 'mypackage.submodule.nested'>
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: int
|
||||
# error: [unresolved-attribute] "has no member `nested`"
|
||||
reveal_type(mypackage.nested) # revealed: Unknown
|
||||
# error: [unresolved-attribute] "has no member `nested`"
|
||||
@@ -281,9 +281,9 @@ import mypackage
|
||||
reveal_type(mypackage.submodule) # revealed: <module 'mypackage.submodule'>
|
||||
# TODO: this would be nice to support
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule.nested) # revealed: <module 'mypackage.submodule.nested'>
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: int
|
||||
reveal_type(mypackage.nested) # revealed: <module 'mypackage.submodule.nested'>
|
||||
reveal_type(mypackage.nested.X) # revealed: int
|
||||
```
|
||||
@@ -319,9 +319,9 @@ import mypackage
|
||||
|
||||
reveal_type(mypackage.submodule) # revealed: <module 'mypackage.submodule'>
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule.nested) # revealed: <module 'mypackage.submodule.nested'>
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: int
|
||||
# error: [unresolved-attribute] "has no member `nested`"
|
||||
reveal_type(mypackage.nested) # revealed: Unknown
|
||||
# error: [unresolved-attribute] "has no member `nested`"
|
||||
@@ -357,9 +357,9 @@ import mypackage
|
||||
reveal_type(mypackage.submodule) # revealed: <module 'mypackage.submodule'>
|
||||
# TODO: this would be nice to support
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule.nested) # revealed: <module 'mypackage.submodule.nested'>
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: int
|
||||
reveal_type(mypackage.nested) # revealed: <module 'mypackage.submodule.nested'>
|
||||
reveal_type(mypackage.nested.X) # revealed: int
|
||||
```
|
||||
@@ -394,11 +394,13 @@ X: int = 42
|
||||
import mypackage
|
||||
|
||||
# error: [possibly-missing-attribute] "Submodule `submodule` may not be available"
|
||||
reveal_type(mypackage.submodule) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule) # revealed: <module 'mypackage.submodule'>
|
||||
# error: [possibly-missing-attribute] "Submodule `submodule` may not be available"
|
||||
reveal_type(mypackage.submodule.nested) # revealed: Unknown
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested) # revealed: <module 'mypackage.submodule.nested'>
|
||||
# error: [possibly-missing-attribute] "Submodule `submodule` may not be available"
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: Unknown
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: int
|
||||
```
|
||||
|
||||
### In Non-Stub
|
||||
@@ -430,11 +432,13 @@ import mypackage
|
||||
|
||||
# TODO: this would be nice to support
|
||||
# error: [possibly-missing-attribute] "Submodule `submodule` may not be available"
|
||||
reveal_type(mypackage.submodule) # revealed: Unknown
|
||||
reveal_type(mypackage.submodule) # revealed: <module 'mypackage.submodule'>
|
||||
# error: [possibly-missing-attribute] "Submodule `submodule` may not be available"
|
||||
reveal_type(mypackage.submodule.nested) # revealed: Unknown
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested) # revealed: <module 'mypackage.submodule.nested'>
|
||||
# error: [possibly-missing-attribute] "Submodule `submodule` may not be available"
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: Unknown
|
||||
# error: [possibly-missing-attribute] "Submodule `nested` may not be available"
|
||||
reveal_type(mypackage.submodule.nested.X) # revealed: int
|
||||
```
|
||||
|
||||
## Relative `from` Import of Direct Submodule in `__init__`, Mismatched Alias
|
||||
@@ -461,7 +465,7 @@ X: int = 42
|
||||
import mypackage
|
||||
|
||||
# error: [possibly-missing-attribute] "Submodule `imported` may not be available"
|
||||
reveal_type(mypackage.imported.X) # revealed: Unknown
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
# error: [unresolved-attribute] "has no member `imported_m`"
|
||||
reveal_type(mypackage.imported_m.X) # revealed: Unknown
|
||||
```
|
||||
@@ -487,7 +491,7 @@ import mypackage
|
||||
|
||||
# TODO: this would be nice to support, as it works at runtime
|
||||
# error: [possibly-missing-attribute] "Submodule `imported` may not be available"
|
||||
reveal_type(mypackage.imported.X) # revealed: Unknown
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
reveal_type(mypackage.imported_m.X) # revealed: int
|
||||
```
|
||||
|
||||
@@ -674,7 +678,7 @@ reveal_type(imported.X) # revealed: int
|
||||
# TODO: this would be nice to support, but it's dangerous with available_submodule_attributes
|
||||
# for details, see: https://github.com/astral-sh/ty/issues/1488
|
||||
# error: [possibly-missing-attribute] "Submodule `imported` may not be available"
|
||||
reveal_type(mypackage.imported.X) # revealed: Unknown
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
```
|
||||
|
||||
### In Non-Stub
|
||||
@@ -700,7 +704,7 @@ reveal_type(imported.X) # revealed: int
|
||||
|
||||
# TODO: this would be nice to support, as it works at runtime
|
||||
# error: [possibly-missing-attribute] "Submodule `imported` may not be available"
|
||||
reveal_type(mypackage.imported.X) # revealed: Unknown
|
||||
reveal_type(mypackage.imported.X) # revealed: int
|
||||
```
|
||||
|
||||
## `from` Import of Sibling Module
|
||||
@@ -738,7 +742,7 @@ reveal_type(imported.X) # revealed: int
|
||||
# error: [unresolved-attribute] "has no member `fails`"
|
||||
reveal_type(imported.fails.Y) # revealed: Unknown
|
||||
# error: [possibly-missing-attribute] "Submodule `fails` may not be available"
|
||||
reveal_type(mypackage.fails.Y) # revealed: Unknown
|
||||
reveal_type(mypackage.fails.Y) # revealed: int
|
||||
```
|
||||
|
||||
### In Non-Stub
|
||||
@@ -771,7 +775,7 @@ from mypackage import imported
|
||||
reveal_type(imported.X) # revealed: int
|
||||
reveal_type(imported.fails.Y) # revealed: int
|
||||
# error: [possibly-missing-attribute] "Submodule `fails`"
|
||||
reveal_type(mypackage.fails.Y) # revealed: Unknown
|
||||
reveal_type(mypackage.fails.Y) # revealed: int
|
||||
```
|
||||
|
||||
## Fractal Re-export Nameclash Problems
|
||||
|
||||
@@ -248,7 +248,7 @@ from . import foo
|
||||
import package
|
||||
|
||||
# error: [possibly-missing-attribute]
|
||||
reveal_type(package.foo.X) # revealed: Unknown
|
||||
reveal_type(package.foo.X) # revealed: int
|
||||
```
|
||||
|
||||
## Relative imports at the top of a search path
|
||||
|
||||
@@ -523,63 +523,3 @@ 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: ...
|
||||
```
|
||||
|
||||
@@ -31,9 +31,9 @@ mdtest path: crates/ty_python_semantic/resources/mdtest/attributes.md
|
||||
2 | import baz
|
||||
3 |
|
||||
4 | # error: [possibly-missing-attribute]
|
||||
5 | reveal_type(foo.bar) # revealed: Unknown
|
||||
5 | reveal_type(foo.bar) # revealed: <module 'foo.bar'>
|
||||
6 | # error: [possibly-missing-attribute]
|
||||
7 | reveal_type(baz.bar) # revealed: Unknown
|
||||
7 | reveal_type(baz.bar) # revealed: <module 'baz.bar'>
|
||||
```
|
||||
|
||||
# Diagnostics
|
||||
@@ -43,10 +43,10 @@ warning[possibly-missing-attribute]: Submodule `bar` may not be available as an
|
||||
--> src/main.py:5:13
|
||||
|
|
||||
4 | # error: [possibly-missing-attribute]
|
||||
5 | reveal_type(foo.bar) # revealed: Unknown
|
||||
5 | reveal_type(foo.bar) # revealed: <module 'foo.bar'>
|
||||
| ^^^^^^^
|
||||
6 | # error: [possibly-missing-attribute]
|
||||
7 | reveal_type(baz.bar) # revealed: Unknown
|
||||
7 | reveal_type(baz.bar) # revealed: <module 'baz.bar'>
|
||||
|
|
||||
help: Consider explicitly importing `foo.bar`
|
||||
info: rule `possibly-missing-attribute` is enabled by default
|
||||
@@ -57,9 +57,9 @@ info: rule `possibly-missing-attribute` is enabled by default
|
||||
warning[possibly-missing-attribute]: Submodule `bar` may not be available as an attribute on module `baz`
|
||||
--> src/main.py:7:13
|
||||
|
|
||||
5 | reveal_type(foo.bar) # revealed: Unknown
|
||||
5 | reveal_type(foo.bar) # revealed: <module 'foo.bar'>
|
||||
6 | # error: [possibly-missing-attribute]
|
||||
7 | reveal_type(baz.bar) # revealed: Unknown
|
||||
7 | reveal_type(baz.bar) # revealed: <module 'baz.bar'>
|
||||
| ^^^^^^^
|
||||
|
|
||||
help: Consider explicitly importing `baz.bar`
|
||||
|
||||
@@ -1,220 +0,0 @@
|
||||
---
|
||||
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
|
||||
|
||||
```
|
||||
@@ -174,39 +174,6 @@ 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
|
||||
|
||||
@@ -66,15 +66,12 @@ def _[T]() -> None:
|
||||
reveal_type(ConstraintSet.range(Base, T, object))
|
||||
```
|
||||
|
||||
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`.
|
||||
And a range constraint with _both_ a lower bound of `Never` and an upper bound of `object` does not
|
||||
constrain the typevar at all.
|
||||
|
||||
```py
|
||||
def _[T]() -> None:
|
||||
# revealed: ty_extensions.ConstraintSet[(T@_ = *)]
|
||||
# revealed: ty_extensions.ConstraintSet[always]
|
||||
reveal_type(ConstraintSet.range(Never, T, object))
|
||||
```
|
||||
|
||||
@@ -159,7 +156,7 @@ cannot be satisfied at all.
|
||||
|
||||
```py
|
||||
def _[T]() -> None:
|
||||
# revealed: ty_extensions.ConstraintSet[(T@_ ≠ *)]
|
||||
# revealed: ty_extensions.ConstraintSet[never]
|
||||
reveal_type(~ConstraintSet.range(Never, T, object))
|
||||
```
|
||||
|
||||
@@ -657,7 +654,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[(T@_ ≠ *)]
|
||||
# revealed: ty_extensions.ConstraintSet[never]
|
||||
reveal_type(~ConstraintSet.range(Never, T, object))
|
||||
```
|
||||
|
||||
@@ -814,7 +811,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.always()
|
||||
always = ConstraintSet.range(Never, T, object)
|
||||
# revealed: ty_extensions.ConstraintSet[always]
|
||||
reveal_type(always)
|
||||
static_assert(always)
|
||||
@@ -849,11 +846,11 @@ from typing import Never
|
||||
from ty_extensions import ConstraintSet
|
||||
|
||||
def same_typevar[T]():
|
||||
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
|
||||
# revealed: ty_extensions.ConstraintSet[always]
|
||||
reveal_type(ConstraintSet.range(Never, T, T))
|
||||
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
|
||||
# revealed: ty_extensions.ConstraintSet[always]
|
||||
reveal_type(ConstraintSet.range(T, T, object))
|
||||
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
|
||||
# revealed: ty_extensions.ConstraintSet[always]
|
||||
reveal_type(ConstraintSet.range(T, T, T))
|
||||
```
|
||||
|
||||
@@ -865,11 +862,11 @@ as shown above.)
|
||||
from ty_extensions import Intersection
|
||||
|
||||
def same_typevar[T]():
|
||||
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
|
||||
# revealed: ty_extensions.ConstraintSet[always]
|
||||
reveal_type(ConstraintSet.range(Never, T, T | None))
|
||||
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
|
||||
# revealed: ty_extensions.ConstraintSet[always]
|
||||
reveal_type(ConstraintSet.range(Intersection[T, None], T, object))
|
||||
# revealed: ty_extensions.ConstraintSet[(T@same_typevar = *)]
|
||||
# revealed: ty_extensions.ConstraintSet[always]
|
||||
reveal_type(ConstraintSet.range(Intersection[T, None], T, T | None))
|
||||
```
|
||||
|
||||
@@ -880,8 +877,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[(T@same_typevar ≠ *)]
|
||||
# revealed: ty_extensions.ConstraintSet[never]
|
||||
reveal_type(ConstraintSet.range(Intersection[Not[T], None], T, object))
|
||||
# revealed: ty_extensions.ConstraintSet[(T@same_typevar ≠ *)]
|
||||
# revealed: ty_extensions.ConstraintSet[never]
|
||||
reveal_type(ConstraintSet.range(Not[T], T, object))
|
||||
```
|
||||
|
||||
@@ -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]]))
|
||||
|
||||
static_assert(not is_assignable_to(TypeOf[Bar[int]], type[Foo[bool]]))
|
||||
static_assert(not is_assignable_to(TypeOf[Foo[bool]], type[Bar[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]
|
||||
```
|
||||
|
||||
## `type[]` is not assignable to types disjoint from `builtins.type`
|
||||
|
||||
@@ -629,7 +629,7 @@ from module2 import imported as other_imported
|
||||
from ty_extensions import TypeOf, static_assert, is_equivalent_to
|
||||
|
||||
# error: [possibly-missing-attribute]
|
||||
reveal_type(imported.abc) # revealed: Unknown
|
||||
reveal_type(imported.abc) # revealed: <module 'imported.abc'>
|
||||
|
||||
reveal_type(other_imported.abc) # revealed: <module 'imported.abc'>
|
||||
|
||||
|
||||
@@ -1107,6 +1107,13 @@ 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()
|
||||
@@ -1559,7 +1566,7 @@ impl<'db> Type<'db> {
|
||||
}
|
||||
}
|
||||
Type::ClassLiteral(class_literal) => {
|
||||
Some(class_literal.default_specialization(db).into_callable(db))
|
||||
Some(ClassType::NonGeneric(class_literal).into_callable(db))
|
||||
}
|
||||
|
||||
Type::GenericAlias(alias) => Some(ClassType::Generic(alias).into_callable(db)),
|
||||
@@ -2399,7 +2406,7 @@ impl<'db> Type<'db> {
|
||||
.subclass_of()
|
||||
.into_class()
|
||||
.map(|subclass_of_class| {
|
||||
class.default_specialization(db).has_relation_to_impl(
|
||||
ClassType::NonGeneric(class).has_relation_to_impl(
|
||||
db,
|
||||
subclass_of_class,
|
||||
inferable,
|
||||
@@ -6700,9 +6707,7 @@ impl<'db> Type<'db> {
|
||||
KnownClass::Float.to_instance(db),
|
||||
],
|
||||
),
|
||||
_ if class.is_typed_dict(db) => {
|
||||
Type::typed_dict(class.default_specialization(db))
|
||||
}
|
||||
_ if class.is_typed_dict(db) => Type::typed_dict(*class),
|
||||
_ => Type::instance(db, class.default_specialization(db)),
|
||||
};
|
||||
Ok(ty)
|
||||
@@ -7037,7 +7042,18 @@ impl<'db> Type<'db> {
|
||||
}
|
||||
Type::Callable(_) | Type::DataclassTransformer(_) => KnownClass::Type.to_instance(db),
|
||||
Type::ModuleLiteral(_) => KnownClass::ModuleType.to_class_literal(db),
|
||||
Type::TypeVar(_) => todo_type!("type[T] for a type variable T"),
|
||||
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::ClassLiteral(class) => class.metaclass(db),
|
||||
Type::GenericAlias(alias) => ClassType::from(alias).metaclass(db),
|
||||
Type::SubclassOf(subclass_of_ty) => match subclass_of_ty.subclass_of() {
|
||||
@@ -8290,7 +8306,7 @@ impl<'db> KnownInstanceType<'db> {
|
||||
write!(
|
||||
f,
|
||||
"ty_extensions.Specialization{}",
|
||||
specialization.display_full(self.db)
|
||||
specialization.normalized(self.db).display_full(self.db)
|
||||
)
|
||||
}
|
||||
KnownInstanceType::UnionType(_) => f.write_str("types.UnionType"),
|
||||
@@ -11002,19 +11018,11 @@ 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),
|
||||
self.is_function_like(db),
|
||||
)
|
||||
CallableType::new(db, self.signatures(db).bind_self(db, self_type), false)
|
||||
}
|
||||
|
||||
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),
|
||||
self.is_function_like(db),
|
||||
)
|
||||
CallableType::new(db, self.signatures(db).apply_self(db, self_type), false)
|
||||
}
|
||||
|
||||
/// Create a callable type which represents a fully-static "bottom" callable.
|
||||
|
||||
@@ -362,11 +362,6 @@ 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>),
|
||||
}
|
||||
@@ -1264,14 +1259,6 @@ 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
|
||||
@@ -3677,6 +3664,12 @@ 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)]
|
||||
|
||||
@@ -494,11 +494,7 @@ impl<'db> ConstrainedTypeVar<'db> {
|
||||
})
|
||||
}) =>
|
||||
{
|
||||
return Node::new_constraint(
|
||||
db,
|
||||
ConstrainedTypeVar::new(db, typevar, Type::Never, Type::object()),
|
||||
)
|
||||
.negate(db);
|
||||
return Node::AlwaysFalse;
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
@@ -526,6 +522,12 @@ 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.
|
||||
@@ -572,21 +574,13 @@ impl<'db> ConstrainedTypeVar<'db> {
|
||||
db,
|
||||
ConstrainedTypeVar::new(db, lower, Type::Never, Type::TypeVar(typevar)),
|
||||
);
|
||||
let upper = if upper.is_object() {
|
||||
Node::AlwaysTrue
|
||||
} else {
|
||||
Self::new_node(db, typevar, Type::Never, upper)
|
||||
};
|
||||
let upper = 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 = if lower.is_never() {
|
||||
Node::AlwaysTrue
|
||||
} else {
|
||||
Self::new_node(db, typevar, lower, Type::object())
|
||||
};
|
||||
let lower = Self::new_node(db, typevar, lower, Type::object());
|
||||
let upper = Node::new_constraint(
|
||||
db,
|
||||
ConstrainedTypeVar::new(db, upper, Type::TypeVar(typevar), Type::object()),
|
||||
@@ -709,15 +703,6 @@ 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("¬")?;
|
||||
}
|
||||
@@ -1142,30 +1127,27 @@ impl<'db> Node<'db> {
|
||||
/// Invokes a callback for each of the representative types of a particular typevar for this
|
||||
/// constraint set.
|
||||
///
|
||||
/// 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`
|
||||
/// There is a representative type 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(Option<(Type<'db>, Type<'db>)>),
|
||||
mut f: impl FnMut(Type<'db>, Type<'db>),
|
||||
) {
|
||||
self.retain_one(db, bound_typevar)
|
||||
.find_representative_types_inner(db, None, &mut f);
|
||||
.find_representative_types_inner(db, Type::Never, Type::object(), &mut f);
|
||||
}
|
||||
|
||||
fn find_representative_types_inner(
|
||||
self,
|
||||
db: &'db dyn Db,
|
||||
current_bounds: Option<(Type<'db>, Type<'db>)>,
|
||||
f: &mut dyn FnMut(Option<(Type<'db>, Type<'db>)>),
|
||||
greatest_lower_bound: Type<'db>,
|
||||
least_upper_bound: Type<'db>,
|
||||
f: &mut dyn FnMut(Type<'db>, Type<'db>),
|
||||
) {
|
||||
match self {
|
||||
Node::AlwaysTrue => {
|
||||
@@ -1175,16 +1157,12 @@ 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!(current_bounds.is_none_or(
|
||||
|(greatest_lower_bound, least_upper_bound)| {
|
||||
greatest_lower_bound.is_subtype_of(db, least_upper_bound)
|
||||
}
|
||||
));
|
||||
debug_assert!(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(current_bounds);
|
||||
f(greatest_lower_bound, least_upper_bound);
|
||||
}
|
||||
|
||||
Node::AlwaysFalse => {
|
||||
@@ -1193,9 +1171,6 @@ 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.
|
||||
//
|
||||
@@ -1210,7 +1185,8 @@ impl<'db> Node<'db> {
|
||||
IntersectionType::from_elements(db, [least_upper_bound, constraint.upper(db)]);
|
||||
interior.if_true(db).find_representative_types_inner(
|
||||
db,
|
||||
Some((new_greatest_lower_bound, new_least_upper_bound)),
|
||||
new_greatest_lower_bound,
|
||||
new_least_upper_bound,
|
||||
f,
|
||||
);
|
||||
|
||||
@@ -1226,7 +1202,8 @@ impl<'db> Node<'db> {
|
||||
// path.
|
||||
interior.if_false(db).find_representative_types_inner(
|
||||
db,
|
||||
Some((greatest_lower_bound, least_upper_bound)),
|
||||
greatest_lower_bound,
|
||||
least_upper_bound,
|
||||
f,
|
||||
);
|
||||
}
|
||||
@@ -2262,9 +2239,6 @@ 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.
|
||||
///
|
||||
@@ -2276,10 +2250,8 @@ 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`
|
||||
pair_impossibilities: FxHashSet<(ConstrainedTypeVar<'db>, ConstrainedTypeVar<'db>)>,
|
||||
impossibilities: FxHashSet<(ConstrainedTypeVar<'db>, ConstrainedTypeVar<'db>)>,
|
||||
/// Sequents of the form `C₁ ∧ C₂ → D`
|
||||
pair_implications: FxHashMap<
|
||||
(ConstrainedTypeVar<'db>, ConstrainedTypeVar<'db>),
|
||||
@@ -2338,17 +2310,13 @@ impl<'db> SequentMap<'db> {
|
||||
}
|
||||
}
|
||||
|
||||
fn add_single_tautology(&mut self, ante: ConstrainedTypeVar<'db>) {
|
||||
self.single_tautologies.insert(ante);
|
||||
}
|
||||
|
||||
fn add_pair_impossibility(
|
||||
fn add_impossibility(
|
||||
&mut self,
|
||||
db: &'db dyn Db,
|
||||
ante1: ConstrainedTypeVar<'db>,
|
||||
ante2: ConstrainedTypeVar<'db>,
|
||||
) {
|
||||
self.pair_impossibilities
|
||||
self.impossibilities
|
||||
.insert(Self::pair_key(db, ante1, ante2));
|
||||
}
|
||||
|
||||
@@ -2384,15 +2352,6 @@ 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:
|
||||
//
|
||||
@@ -2403,6 +2362,8 @@ 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)) => {
|
||||
@@ -2607,7 +2568,7 @@ impl<'db> SequentMap<'db> {
|
||||
self.enqueue_constraint(intersection_constraint);
|
||||
}
|
||||
None => {
|
||||
self.add_pair_impossibility(db, left_constraint, right_constraint);
|
||||
self.add_impossibility(db, left_constraint, right_constraint);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2632,7 +2593,7 @@ impl<'db> SequentMap<'db> {
|
||||
}
|
||||
};
|
||||
|
||||
for (ante1, ante2) in &self.map.pair_impossibilities {
|
||||
for (ante1, ante2) in &self.map.impossibilities {
|
||||
maybe_write_prefix(f)?;
|
||||
write!(
|
||||
f,
|
||||
@@ -2765,15 +2726,7 @@ impl<'db> PathAssignments<'db> {
|
||||
// don't anticipate the sequent maps to be very large. We might consider avoiding the
|
||||
// brute-force search.
|
||||
|
||||
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 {
|
||||
for (ante1, ante2) in &map.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
|
||||
@@ -3135,8 +3088,8 @@ impl<'db> GenericContext<'db> {
|
||||
});
|
||||
|
||||
// Then we find all of the "representative types" for each typevar in the constraint set.
|
||||
let mut error_occurred = false;
|
||||
let types = self.variables(db).map(|bound_typevar| {
|
||||
let mut types = vec![Type::Never; self.len(db)];
|
||||
for (i, bound_typevar) in self.variables(db).enumerate() {
|
||||
// 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.
|
||||
@@ -3148,55 +3101,40 @@ 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), |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;
|
||||
}
|
||||
}
|
||||
});
|
||||
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]);
|
||||
},
|
||||
);
|
||||
|
||||
// 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
|
||||
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;
|
||||
return Err(());
|
||||
}
|
||||
|
||||
// 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) {
|
||||
error_occurred = true;
|
||||
return None;
|
||||
// TODO: Construct a useful error here
|
||||
return Err(());
|
||||
}
|
||||
|
||||
// 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.
|
||||
Some(least_upper_bound)
|
||||
});
|
||||
|
||||
let specialization = self.specialize_recursive(db, types);
|
||||
if error_occurred {
|
||||
return Err(());
|
||||
types[i] = least_upper_bound;
|
||||
}
|
||||
Ok(specialization)
|
||||
|
||||
Ok(self.specialize_recursive(db, types.into_boxed_slice()))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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, MethodDecorator};
|
||||
use crate::types::class::{DisjointBase, DisjointBaseKind, Field};
|
||||
use crate::types::function::{FunctionType, KnownFunction};
|
||||
use crate::types::liskov::{MethodKind, SynthesizedMethodKind};
|
||||
use crate::types::string_annotation::{
|
||||
@@ -27,7 +27,6 @@ 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::{
|
||||
@@ -3520,27 +3519,6 @@ 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()
|
||||
@@ -3567,11 +3545,9 @@ pub(super) fn report_invalid_method_override<'db>(
|
||||
.full_range(db, &parsed_module(db, superclass_scope.file(db)).load(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_function_span = superclass_type
|
||||
.as_bound_method()
|
||||
.and_then(|method| signature_span(method.function(db)));
|
||||
|
||||
let superclass_definition_kind = definition.kind(db);
|
||||
|
||||
|
||||
@@ -107,8 +107,6 @@ 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?"
|
||||
@@ -121,7 +119,6 @@ struct TypeDetailsWriter<'db> {
|
||||
label: String,
|
||||
targets: Vec<TextRange>,
|
||||
details: Vec<TypeDetail<'db>>,
|
||||
is_valid_syntax: bool,
|
||||
}
|
||||
|
||||
impl<'db> TypeDetailsWriter<'db> {
|
||||
@@ -130,7 +127,6 @@ impl<'db> TypeDetailsWriter<'db> {
|
||||
label: String::new(),
|
||||
targets: Vec::new(),
|
||||
details: Vec::new(),
|
||||
is_valid_syntax: true,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +136,6 @@ impl<'db> TypeDetailsWriter<'db> {
|
||||
label: self.label,
|
||||
targets: self.targets,
|
||||
details: self.details,
|
||||
is_valid_syntax: self.is_valid_syntax,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,13 +192,6 @@ 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,
|
||||
@@ -551,7 +539,6 @@ 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(())
|
||||
@@ -612,7 +599,6 @@ 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")?;
|
||||
@@ -632,7 +618,6 @@ 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 '{}'>",
|
||||
@@ -640,7 +625,6 @@ 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
|
||||
@@ -649,7 +633,6 @@ 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
|
||||
@@ -708,7 +691,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())
|
||||
@@ -746,57 +729,51 @@ impl<'db> FmtDetailed<'db> for DisplayRepresentation<'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::FunctionTypeDunderGet(function)) => {
|
||||
write!(
|
||||
f,
|
||||
"<method-wrapper `__get__` of `{function}`>",
|
||||
function = function.name(self.db),
|
||||
)
|
||||
}
|
||||
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"),
|
||||
@@ -805,11 +782,9 @@ 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
|
||||
@@ -853,13 +828,11 @@ 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())
|
||||
@@ -879,7 +852,6 @@ 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)?;
|
||||
}
|
||||
@@ -1057,7 +1029,6 @@ 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)?;
|
||||
@@ -1104,7 +1075,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)?;
|
||||
@@ -1285,7 +1256,6 @@ 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(']')
|
||||
@@ -1298,7 +1268,6 @@ 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(']')
|
||||
@@ -1389,7 +1358,6 @@ 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())
|
||||
@@ -1537,7 +1505,6 @@ 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;
|
||||
@@ -1727,7 +1694,6 @@ impl<'db> FmtDetailed<'db> for DisplayOmitted {
|
||||
} else {
|
||||
self.plural
|
||||
};
|
||||
f.set_invalid_syntax();
|
||||
write!(f, "... omitted {} {}", self.count, noun)
|
||||
}
|
||||
}
|
||||
@@ -1942,7 +1908,6 @@ impl<'db> FmtDetailed<'db> for DisplayIntersectionType<'_, 'db> {
|
||||
}),
|
||||
);
|
||||
|
||||
f.set_invalid_syntax();
|
||||
f.join(" & ").entries(tys).finish()
|
||||
}
|
||||
}
|
||||
@@ -1995,7 +1960,6 @@ 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())
|
||||
|
||||
@@ -522,15 +522,14 @@ 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.
|
||||
///
|
||||
/// 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);
|
||||
/// 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> {
|
||||
let len = types.len();
|
||||
assert!(self.len(db) == len);
|
||||
loop {
|
||||
let mut any_changed = false;
|
||||
for i in 0..len {
|
||||
@@ -565,7 +564,10 @@ impl<'db> GenericContext<'db> {
|
||||
Specialization::new(db, self, Box::from([element_type]), None, Some(tuple))
|
||||
}
|
||||
|
||||
fn fill_in_defaults<I>(self, db: &'db dyn Db, types: I) -> Box<[Type<'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. 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,
|
||||
@@ -608,18 +610,7 @@ impl<'db> GenericContext<'db> {
|
||||
expanded[idx] = default;
|
||||
}
|
||||
|
||||
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)
|
||||
Specialization::new(db, self, expanded.into_boxed_slice(), None, None)
|
||||
}
|
||||
|
||||
pub(crate) fn normalized_impl(self, db: &'db dyn Db, visitor: &NormalizedVisitor<'db>) -> Self {
|
||||
@@ -1054,6 +1045,11 @@ 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)
|
||||
|
||||
@@ -9091,7 +9091,7 @@ impl<'db, 'ast> TypeInferenceBuilder<'db, 'ast> {
|
||||
{
|
||||
let mut maybe_submodule_name = module_name.clone();
|
||||
maybe_submodule_name.extend(&relative_submodule);
|
||||
if resolve_module(db, &maybe_submodule_name).is_some() {
|
||||
if let Some(submodule) = resolve_module(db, &maybe_submodule_name) {
|
||||
if let Some(builder) = self
|
||||
.context
|
||||
.report_lint(&POSSIBLY_MISSING_ATTRIBUTE, attribute)
|
||||
@@ -9104,7 +9104,11 @@ impl<'db, 'ast> TypeInferenceBuilder<'db, 'ast> {
|
||||
"Consider explicitly importing `{maybe_submodule_name}`"
|
||||
));
|
||||
}
|
||||
return fallback();
|
||||
return TypeAndQualifiers::new(
|
||||
Type::module_literal(db, self.file(), submodule),
|
||||
TypeOrigin::Inferred,
|
||||
TypeQualifiers::empty(),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -679,13 +679,11 @@ impl<'db> TypeInferenceBuilder<'db, '_> {
|
||||
}
|
||||
Type::unknown()
|
||||
}
|
||||
ast::Expr::Subscript(
|
||||
subscript @ ast::ExprSubscript {
|
||||
value,
|
||||
slice: parameters,
|
||||
..
|
||||
},
|
||||
) => {
|
||||
ast::Expr::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) => {
|
||||
@@ -700,40 +698,6 @@ 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]")
|
||||
|
||||
@@ -49,6 +49,11 @@ 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,
|
||||
|
||||
@@ -300,7 +300,7 @@ impl<'db> ProtocolInterface<'db> {
|
||||
.and(db, || {
|
||||
our_type.has_relation_to_impl(
|
||||
db,
|
||||
Type::Callable(protocol_bind_self(db, other_type, None)),
|
||||
Type::Callable(other_type.bind_self(db, 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,
|
||||
protocol_bind_self(db, other_method, None),
|
||||
other_method.bind_self(db, 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,
|
||||
protocol_bind_self(db, *method, Some(fallback_other)),
|
||||
method.bind_self(db, Some(fallback_other)),
|
||||
inferable,
|
||||
relation,
|
||||
relation_visitor,
|
||||
@@ -912,16 +912,3 @@ 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)
|
||||
}
|
||||
|
||||
@@ -2,8 +2,7 @@ use std::borrow::Cow;
|
||||
|
||||
use lsp_types::request::InlayHintRequest;
|
||||
use lsp_types::{InlayHintParams, Url};
|
||||
use ruff_db::files::File;
|
||||
use ty_ide::{InlayHintKind, InlayHintLabel, InlayHintTextEdit, inlay_hints};
|
||||
use ty_ide::{InlayHintKind, InlayHintLabel, inlay_hints};
|
||||
use ty_project::ProjectDatabase;
|
||||
|
||||
use crate::PositionEncoding;
|
||||
@@ -65,14 +64,7 @@ impl BackgroundDocumentRequestHandler for InlayHintRequestHandler {
|
||||
padding_left: None,
|
||||
padding_right: None,
|
||||
data: None,
|
||||
text_edits: Some(
|
||||
hint.text_edits
|
||||
.into_iter()
|
||||
.filter_map(|text_edit| {
|
||||
inlay_hint_text_edit(text_edit, db, file, snapshot.encoding())
|
||||
})
|
||||
.collect(),
|
||||
),
|
||||
text_edits: None,
|
||||
})
|
||||
})
|
||||
.collect();
|
||||
@@ -108,26 +100,3 @@ 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,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -63,22 +63,7 @@ y = foo(1)
|
||||
}
|
||||
}
|
||||
],
|
||||
"kind": 1,
|
||||
"textEdits": [
|
||||
{
|
||||
"range": {
|
||||
"start": {
|
||||
"line": 5,
|
||||
"character": 1
|
||||
},
|
||||
"end": {
|
||||
"line": 5,
|
||||
"character": 1
|
||||
}
|
||||
},
|
||||
"newText": ": int"
|
||||
}
|
||||
]
|
||||
"kind": 1
|
||||
},
|
||||
{
|
||||
"position": {
|
||||
@@ -106,8 +91,7 @@ y = foo(1)
|
||||
"value": "="
|
||||
}
|
||||
],
|
||||
"kind": 2,
|
||||
"textEdits": []
|
||||
"kind": 2
|
||||
}
|
||||
]
|
||||
"#);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -3,7 +3,6 @@ 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 = [
|
||||
@@ -16,17 +15,15 @@ const PYODIDE_EXCLUDE = [
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [react(), tailwindcss(), viteStaticCopyPyodide()],
|
||||
optimizeDeps: { exclude: ["pyodide", "ty_wasm"] },
|
||||
optimizeDeps: { exclude: ["pyodide"] },
|
||||
});
|
||||
|
||||
export function viteStaticCopyPyodide() {
|
||||
const pyodideDir = normalizePath(
|
||||
join(dirname(fileURLToPath(import.meta.resolve("pyodide"))), "*"),
|
||||
);
|
||||
const pyodideDir = dirname(fileURLToPath(import.meta.resolve("pyodide")));
|
||||
return viteStaticCopy({
|
||||
targets: [
|
||||
{
|
||||
src: [pyodideDir, ...PYODIDE_EXCLUDE],
|
||||
src: [join(pyodideDir, "*"), ...PYODIDE_EXCLUDE],
|
||||
dest: "assets",
|
||||
},
|
||||
],
|
||||
|
||||
@@ -14,7 +14,6 @@ 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
|
||||
|
||||
@@ -154,7 +153,7 @@ pub(crate) fn {rule_name_snake}(checker: &mut Checker) {{}}
|
||||
_rustfmt(rules_mod)
|
||||
|
||||
|
||||
def _rustfmt(path: str | Path) -> None:
|
||||
def _rustfmt(path: str) -> None:
|
||||
subprocess.run(["rustfmt", path])
|
||||
|
||||
|
||||
|
||||
@@ -22,11 +22,10 @@ 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, Any, NamedTuple, Self, TypeVar
|
||||
from typing import TYPE_CHECKING, NamedTuple, Self, TypeVar
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import AsyncIterator, Iterator, Sequence
|
||||
@@ -343,7 +342,7 @@ DIFF_LINE_RE = re.compile(
|
||||
r"^(?P<pre>[+-]) (?P<inner>(?P<path>[^:]+):(?P<lnum>\d+):\d+:) (?P<post>.*)$",
|
||||
)
|
||||
|
||||
T = TypeVar("T", bound=Awaitable[Any])
|
||||
T = TypeVar("T")
|
||||
|
||||
|
||||
async def main(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "scripts"
|
||||
version = "0.0.1"
|
||||
dependencies = ["stdlibs", "tqdm", "mdformat", "pyyaml"]
|
||||
dependencies = ["stdlibs"]
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[tool.black]
|
||||
@@ -9,11 +9,3 @@ 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
1
scripts/ty_benchmark/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
node_modules
|
||||
@@ -7,19 +7,15 @@
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
## Updating the benchmark
|
||||
### Windows support
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
45
scripts/ty_benchmark/package-lock.json
generated
45
scripts/ty_benchmark/package-lock.json
generated
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"name": "ty_benchmark",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"pyright": "^1.1.407"
|
||||
}
|
||||
}
|
||||
@@ -3,14 +3,7 @@ name = "ty_benchmark"
|
||||
version = "0.0.1"
|
||||
description = "Package for running end-to-end ty benchmarks"
|
||||
requires-python = ">=3.12"
|
||||
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",
|
||||
]
|
||||
dependencies = ["mypy", "pyright"]
|
||||
|
||||
[project.scripts]
|
||||
benchmark = "benchmark.run:main"
|
||||
@@ -26,7 +19,3 @@ packages = ["src/benchmark"]
|
||||
ignore = [
|
||||
"E501", # We use ruff format
|
||||
]
|
||||
|
||||
[tool.ty.rules]
|
||||
possibly-unresolved-reference = "error"
|
||||
division-by-zero = "error"
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
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)
|
||||
@@ -1,81 +0,0 @@
|
||||
<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
|
||||
@@ -1,2 +0,0 @@
|
||||
Success: no issues found in 42 source files
|
||||
Warning: unused section(s) in pyproject.toml: module = ['tests.data.*']
|
||||
@@ -1,27 +0,0 @@
|
||||
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
|
||||
@@ -1,656 +0,0 @@
|
||||
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)
|
||||
@@ -1,653 +0,0 @@
|
||||
<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
@@ -1,306 +0,0 @@
|
||||
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
@@ -1,14 +0,0 @@
|
||||
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
@@ -1,20 +0,0 @@
|
||||
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)
|
||||
@@ -1,50 +0,0 @@
|
||||
<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
|
||||
@@ -1,2 +0,0 @@
|
||||
Success: no issues found in 39 source files
|
||||
Warning: unused section(s) in pyproject.toml: module = ['importlib_metadata.*', 'tests.*']
|
||||
@@ -1,17 +0,0 @@
|
||||
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
|
||||
@@ -1,67 +0,0 @@
|
||||
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)
|
||||
@@ -1,114 +0,0 @@
|
||||
<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
|
||||
@@ -1,7 +0,0 @@
|
||||
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)
|
||||
@@ -1,24 +0,0 @@
|
||||
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
|
||||
@@ -1,19 +0,0 @@
|
||||
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)
|
||||
@@ -1 +0,0 @@
|
||||
0 errors, 0 warnings, 0 informations
|
||||
@@ -1 +0,0 @@
|
||||
Success: no issues found in 178 source files
|
||||
@@ -1,9 +0,0 @@
|
||||
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
@@ -1 +0,0 @@
|
||||
Success: no issues found in 340 source files
|
||||
@@ -1,946 +0,0 @@
|
||||
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
|
||||
@@ -1,162 +0,0 @@
|
||||
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)
|
||||
@@ -1,527 +0,0 @@
|
||||
<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
|
||||
@@ -1,2 +0,0 @@
|
||||
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)
|
||||
@@ -1,131 +0,0 @@
|
||||
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
@@ -3,17 +3,11 @@ from __future__ import annotations
|
||||
import logging
|
||||
import shlex
|
||||
import subprocess
|
||||
import sys
|
||||
import typing
|
||||
from pathlib import Path
|
||||
from typing import Mapping, NamedTuple
|
||||
|
||||
if sys.platform == "win32":
|
||||
import mslex as shlex
|
||||
else:
|
||||
import shlex
|
||||
|
||||
|
||||
class Command(NamedTuple):
|
||||
class Command(typing.NamedTuple):
|
||||
name: str
|
||||
"""The name of the command to benchmark."""
|
||||
|
||||
@@ -24,7 +18,7 @@ class Command(NamedTuple):
|
||||
"""The command to run before each benchmark run."""
|
||||
|
||||
|
||||
class Hyperfine(NamedTuple):
|
||||
class Hyperfine(typing.NamedTuple):
|
||||
name: str
|
||||
"""The benchmark to run."""
|
||||
|
||||
@@ -43,16 +37,13 @@ class Hyperfine(NamedTuple):
|
||||
json: bool
|
||||
"""Whether to export results to JSON."""
|
||||
|
||||
def run(self, *, cwd: Path | None = None, env: Mapping[str, str]) -> None:
|
||||
def run(self, *, cwd: Path | None = None) -> None:
|
||||
"""Run the benchmark using `hyperfine`."""
|
||||
args = [
|
||||
"hyperfine",
|
||||
# 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",
|
||||
# Most repositories have some typing errors.
|
||||
# This is annoying because it prevents us from capturing "real" errors.
|
||||
"-i",
|
||||
]
|
||||
|
||||
# Export to JSON.
|
||||
@@ -79,4 +70,7 @@ class Hyperfine(NamedTuple):
|
||||
|
||||
logging.info(f"Running {args}")
|
||||
|
||||
subprocess.run(args, cwd=cwd, env=env)
|
||||
subprocess.run(
|
||||
args,
|
||||
cwd=cwd,
|
||||
)
|
||||
|
||||
217
scripts/ty_benchmark/src/benchmark/cases.py
Normal file
217
scripts/ty_benchmark/src/benchmark/cases.py
Normal file
@@ -0,0 +1,217 @@
|
||||
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}")
|
||||
@@ -1,11 +1,10 @@
|
||||
import logging
|
||||
import subprocess
|
||||
import sys
|
||||
import typing
|
||||
from pathlib import Path
|
||||
from typing import Final, Literal, NamedTuple
|
||||
|
||||
|
||||
class Project(NamedTuple):
|
||||
class Project(typing.NamedTuple):
|
||||
name: str
|
||||
"""The name of the project to benchmark."""
|
||||
|
||||
@@ -14,23 +13,21 @@ class Project(NamedTuple):
|
||||
|
||||
revision: str
|
||||
|
||||
install_arguments: list[str]
|
||||
"""Arguments passed to `uv pip install`.
|
||||
dependencies: list[str]
|
||||
"""List of type checking dependencies.
|
||||
|
||||
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"""
|
||||
|
||||
exclude: list[str] = []
|
||||
"""The directories and files to exclude from checks."""
|
||||
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."""
|
||||
|
||||
def clone(self, checkout_dir: Path) -> None:
|
||||
# Skip cloning if the project has already been cloned (the script doesn't yet support updating)
|
||||
@@ -98,190 +95,51 @@ class Project(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: Final = [
|
||||
ALL = [
|
||||
Project(
|
||||
name="black",
|
||||
repository="https://github.com/psf/black",
|
||||
revision="45b4087976b7880db9dabacc992ee142f2d6c7c7",
|
||||
python_version="3.10",
|
||||
revision="ac28187bf4a4ac159651c73d3a50fe6d0f653eac",
|
||||
include=["src"],
|
||||
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",
|
||||
dependencies=[
|
||||
"aiohttp",
|
||||
"click",
|
||||
"pathspec",
|
||||
"tomli",
|
||||
"platformdirs",
|
||||
"packaging",
|
||||
],
|
||||
),
|
||||
Project(
|
||||
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",
|
||||
],
|
||||
name="jinja",
|
||||
repository="https://github.com/pallets/jinja",
|
||||
revision="b490da6b23b7ad25dc969976f64dc4ffb0a2c182",
|
||||
include=[],
|
||||
dependencies=["markupsafe"],
|
||||
),
|
||||
# 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="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",
|
||||
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",
|
||||
],
|
||||
),
|
||||
Project(
|
||||
name="isort",
|
||||
repository="https://github.com/pycqa/isort",
|
||||
revision="ed501f10cb5c1b17aad67358017af18cf533c166",
|
||||
python_version="3.11",
|
||||
revision="7de182933fd50e04a7c47cc8be75a6547754b19c",
|
||||
mypy_arguments=["--ignore-missing-imports", "isort"],
|
||||
include=["isort"],
|
||||
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",
|
||||
dependencies=["types-setuptools"],
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
DEFAULT: list[str] = ["black", "jinja", "isort"]
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
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.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
|
||||
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
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from benchmark.tool import Tool
|
||||
|
||||
TOOL_CHOICES: Final = ["ty", "pyrefly", "mypy", "pyright"]
|
||||
if typing.TYPE_CHECKING:
|
||||
from benchmark.cases import Tool
|
||||
|
||||
|
||||
def main() -> None:
|
||||
@@ -39,49 +36,42 @@ 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(
|
||||
"--tool",
|
||||
help="Which tool to benchmark.",
|
||||
choices=TOOL_CHOICES,
|
||||
action="append",
|
||||
"--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",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--ty-path",
|
||||
type=Path,
|
||||
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).",
|
||||
help="Path(s) to the ty binary to benchmark.",
|
||||
action="append",
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
@@ -91,101 +81,73 @@ 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())
|
||||
|
||||
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}")
|
||||
if args.ty:
|
||||
suites.append(Ty())
|
||||
|
||||
projects = (
|
||||
[project for project in ALL_PROJECTS if project.name in args.project]
|
||||
if args.project
|
||||
else ALL_PROJECTS
|
||||
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)
|
||||
)
|
||||
|
||||
benchmark_env = os.environ.copy()
|
||||
|
||||
if args.single_threaded:
|
||||
benchmark_env["TY_MAX_PARALLELISM"] = "1"
|
||||
|
||||
first = True
|
||||
projects = [
|
||||
project
|
||||
for project in all_projects
|
||||
if project.name in (args.project or default_projects)
|
||||
]
|
||||
|
||||
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, project.python_version)
|
||||
venv.install(project.install_arguments)
|
||||
venv = Venv.create(cwd)
|
||||
venv.install(project.dependencies)
|
||||
|
||||
commands = []
|
||||
# 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)))
|
||||
|
||||
for suite in suites:
|
||||
suite.write_config(project, venv)
|
||||
commands.append(suite.command(project, venv, args.single_threaded))
|
||||
for benchmark in benchmarks:
|
||||
# Generate the benchmark command for each tool.
|
||||
commands = [
|
||||
command
|
||||
for suite in suites
|
||||
if (command := suite.command(benchmark, project, venv))
|
||||
]
|
||||
|
||||
if not commands:
|
||||
continue
|
||||
# not all tools support all benchmarks.
|
||||
if not commands:
|
||||
continue
|
||||
|
||||
if not first:
|
||||
print("")
|
||||
print(
|
||||
"-------------------------------------------------------------------------------"
|
||||
)
|
||||
print("")
|
||||
print(f"{project.name} ({benchmark.value})")
|
||||
|
||||
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}",
|
||||
name=f"{project.name}-{benchmark.value}",
|
||||
commands=commands,
|
||||
warmup=warmup,
|
||||
min_runs=min_runs,
|
||||
verbose=verbose,
|
||||
json=False,
|
||||
)
|
||||
hyperfine.run(cwd=cwd, env=benchmark_env)
|
||||
|
||||
first = False
|
||||
hyperfine.run(cwd=cwd)
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
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.")
|
||||
@@ -1,236 +0,0 @@
|
||||
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,
|
||||
)
|
||||
@@ -1,90 +0,0 @@
|
||||
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}")
|
||||
72
scripts/ty_benchmark/uv.lock
generated
72
scripts/ty_benchmark/uv.lock
generated
@@ -1,30 +1,53 @@
|
||||
version = 1
|
||||
revision = 3
|
||||
revision = 2
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[[package]]
|
||||
name = "mslex"
|
||||
version = "1.3.0"
|
||||
name = "mypy"
|
||||
version = "1.11.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
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" }
|
||||
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" }
|
||||
wheels = [
|
||||
{ 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" },
|
||||
{ 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" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pyrefly"
|
||||
version = "0.42.1"
|
||||
name = "mypy-extensions"
|
||||
version = "1.0.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
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" }
|
||||
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" }
|
||||
wheels = [
|
||||
{ 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" },
|
||||
{ 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" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -32,12 +55,21 @@ name = "ty-benchmark"
|
||||
version = "0.0.1"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "mslex" },
|
||||
{ name = "pyrefly" },
|
||||
{ name = "mypy" },
|
||||
{ name = "pyright" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "mslex", specifier = ">=1.3.0" },
|
||||
{ name = "pyrefly", specifier = ">=0.41.3" },
|
||||
{ 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" },
|
||||
]
|
||||
|
||||
@@ -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 = str(number)
|
||||
number = str(number)
|
||||
number = "_".join(number[i : i + 3] for i in range(0, len(number), 3))
|
||||
return f"{number}_u32"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user