Skip to content

Commit 5bc2d1d

Browse files
[pre-commit.ci] pre-commit autoupdate (#369)
* [pre-commit.ci] pre-commit autoupdate updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.4 → v0.11.5](astral-sh/ruff-pre-commit@v0.11.4...v0.11.5) - [github.com/RobertCraigie/pyright-python: v1.1.398 → v1.1.399](RobertCraigie/pyright-python@v1.1.398...v1.1.399) * fix new pyright errors * sort imports --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: jakkdl <h6+github@pm.me>
1 parent 20f8eea commit 5bc2d1d

File tree

3 files changed

+35
-19
lines changed

3 files changed

+35
-19
lines changed

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ci:
99

1010
repos:
1111
- repo: https://github.com/astral-sh/ruff-pre-commit
12-
rev: v0.11.4
12+
rev: v0.11.5
1313
hooks:
1414
- id: ruff
1515
args: [--fix]
@@ -45,7 +45,7 @@ repos:
4545
exclude: tests/(eval|autofix)_files/.*_py(310|311).py
4646

4747
- repo: https://github.com/RobertCraigie/pyright-python
48-
rev: v1.1.398
48+
rev: v1.1.399
4949
hooks:
5050
- id: pyright
5151
# ignore warnings about new version being available, no other warnings

flake8_async/runner.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import libcst as cst
1414

15+
from .base import Error, Options
1516
from .visitors import (
1617
ERROR_CLASSES,
1718
ERROR_CLASSES_CST,
@@ -25,18 +26,17 @@
2526

2627
from libcst import Module
2728

28-
from .base import Error, Options
2929
from .visitors.flake8asyncvisitor import Flake8AsyncVisitor, Flake8AsyncVisitor_cst
3030

3131

3232
@dataclass
3333
class SharedState:
3434
options: Options
35-
problems: list[Error] = field(default_factory=list)
36-
noqas: dict[int, set[str]] = field(default_factory=dict)
35+
problems: list[Error] = field(default_factory=list[Error])
36+
noqas: dict[int, set[str]] = field(default_factory=dict[int, set[str]])
3737
library: tuple[str, ...] = ()
38-
typed_calls: dict[str, str] = field(default_factory=dict)
39-
variables: dict[str, str] = field(default_factory=dict)
38+
typed_calls: dict[str, str] = field(default_factory=dict[str, str])
39+
variables: dict[str, str] = field(default_factory=dict[str, str])
4040

4141

4242
class __CommonRunner:

flake8_async/visitors/visitor91x.py

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,21 @@ class LoopState:
162162
body_guaranteed_once: bool = False
163163
has_break: bool = False
164164

165-
uncheckpointed_before_continue: set[Statement] = field(default_factory=set)
166-
uncheckpointed_before_break: set[Statement] = field(default_factory=set)
167-
168-
artificial_errors: set[cst.Return | cst.Yield] = field(default_factory=set)
169-
nodes_needing_checkpoints: list[cst.Return | cst.Yield | ArtificialStatement] = (
170-
field(default_factory=list)
165+
uncheckpointed_before_continue: set[Statement] = field(
166+
default_factory=set[Statement]
171167
)
168+
uncheckpointed_before_break: set[Statement] = field(default_factory=set[Statement])
169+
# pyright emits reportUnknownVariableType, requiring the generic to default_factory
170+
# to be specified.
171+
# But for these we require a union, and `|` doesn't work on py39, and uses of
172+
# `Union` gets autofixed by ruff.
173+
# So.... let's just ignore the error for now
174+
artificial_errors: set[ # pyright: ignore[reportUnknownVariableType]
175+
cst.Return | cst.Yield
176+
] = field(default_factory=set)
177+
nodes_needing_checkpoints: list[ # pyright: ignore[reportUnknownVariableType]
178+
cst.Return | cst.Yield | ArtificialStatement
179+
] = field(default_factory=list)
172180

173181
def copy(self):
174182
return LoopState(
@@ -184,10 +192,14 @@ def copy(self):
184192

185193
@dataclass
186194
class TryState:
187-
body_uncheckpointed_statements: set[Statement] = field(default_factory=set)
188-
try_checkpoint: set[Statement] = field(default_factory=set)
189-
except_uncheckpointed_statements: set[Statement] = field(default_factory=set)
190-
added: set[Statement] = field(default_factory=set)
195+
body_uncheckpointed_statements: set[Statement] = field(
196+
default_factory=set[Statement]
197+
)
198+
try_checkpoint: set[Statement] = field(default_factory=set[Statement])
199+
except_uncheckpointed_statements: set[Statement] = field(
200+
default_factory=set[Statement]
201+
)
202+
added: set[Statement] = field(default_factory=set[Statement])
191203

192204
def copy(self):
193205
return TryState(
@@ -202,8 +214,12 @@ def copy(self):
202214
class MatchState:
203215
# TryState, LoopState, and MatchState all do fairly similar things. It would be nice
204216
# to harmonize them and share logic.
205-
base_uncheckpointed_statements: set[Statement] = field(default_factory=set)
206-
case_uncheckpointed_statements: set[Statement] = field(default_factory=set)
217+
base_uncheckpointed_statements: set[Statement] = field(
218+
default_factory=set[Statement]
219+
)
220+
case_uncheckpointed_statements: set[Statement] = field(
221+
default_factory=set[Statement]
222+
)
207223
has_fallback: bool = False
208224

209225
def copy(self):

0 commit comments

Comments
 (0)