Alex Waygood
Alex Waygood
See e.g. https://github.com/python/typeshed/pull/11078 The issue is with a project in shard 0. I cancelled the shard after 25 minutes on the first run, and then re-ran it. I cancelled it...
## Summary Currently this rule checks the number of nonvariadic parameters a property has, but doesn't check how many variadic parameters the property has. That makes little sense to me:...
## Summary This PR changes the `DebugStatistics` and `ReleaseStatistics` structs so that they implement a common `StatisticsRecorder` trait, and makes the `KeyValueCache` struct generic over a type parameter bound to...
Currently if Ruff panics, you get this on the command line: ``` % ruff check foo.py --no-cache error: Panicked while linting foo.py: This indicates a bug in Ruff. If you...
## Summary Fixes #11245. `if TYPE_CHECKING` blocks, like stub files, are never executed at runtime -- so I think it makes sense to give them stub-file semantics when it comes...
## Summary This PR refactors the `ExprDict` node in `crates/ruff_python_ast/nodes.rs` from this: ```rs struct ExprDict { keys: Vec, values: Vec, } ``` to this: ```rs struct DictItem { key: Option,...
I think it would make sense to have E741 ([`ambiguous-variable-name`](https://docs.astral.sh/ruff/rules/ambiguous-variable-name/)) not apply to stub files. Unlike with runtime `.py` files, stub authors generally have no control over the names of...
Fixes #237. The error code is disabled by default, due to the risk of false positive errors. However, it's possible that this check is too noisy even for a disabled-by-default...
Currently we have this behaviour: ```py from collections.abc import ( # Y057 flagged on this line for the forbidden ByteString import AsyncIterator, Awaitable, ByteString, Collection, Container, MutableMapping, MutableSequence, ) ```...
I have been [explicitly warned](https://github.com/PyCQA/flake8/issues/1560#issuecomment-1036341793) that the next release of flake8 is likely to break flake8-pyi, due to the amount of monkeypatching we do in this plugin, and a refactoring...