Carl Meyer
ee0518e8f7
[red-knot] implement attribute of union ( #12601 )
...
I hit this `todo!` trying to run type inference over some real modules.
Since it's a one-liner to implement it, I just did that rather than
changing to `Type::Unknown`.
2024-07-31 19:45:24 -07:00
Charlie Marsh
d774a3bd48
Avoid unused async when context manager includes TaskGroup ( #12605 )
...
## Summary
Closes https://github.com/astral-sh/ruff/issues/12354 .
2024-08-01 02:12:43 +00:00
Charlie Marsh
7e6b19048e
Don't attach comments with mismatched indents ( #12604 )
...
## Summary
Given:
```python
def test_update():
pass
# comment
def test_clientmodel():
pass
```
We don't want `# comment` to be attached to `def test_clientmodel()`.
Closes https://github.com/astral-sh/ruff/issues/12589 .
2024-07-31 22:09:05 -04:00
Charlie Marsh
8e383b9587
Respect start index in unnecessary-list-index-lookup ( #12603 )
...
## Summary
Closes https://github.com/astral-sh/ruff/issues/12594 .
2024-08-01 01:21:15 +00:00
github-actions[bot]
3f49ab126f
Sync vendored typeshed stubs ( #12602 )
2024-08-01 01:44:56 +01:00
Chris Krycho
c1bc7f4dee
Remove ecosystem_ci flag from Ruff CLI ( #12596 )
...
## Summary
@zanieb noticed while we were discussing #12595 that this flag is now
unnecessary, so remove it and the flags which reference it.
## Test Plan
Question for maintainers: is there a test to add *or* remove here? (I’ve
opened this as a draft PR with that in view!)
2024-07-31 11:40:03 -05:00
Bowen Liang
a44d579f21
Add Dify to Ruff users ( #12593 )
...
## Summary
<!-- What's the purpose of the change? What does it do, and why? -->
- Add the popular LLM Ops project Dify to the user list in Readme, as
Dify introduced Ruff for lining since Feb 2024 in
https://github.com/langgenius/dify/pull/2366
2024-07-31 08:56:52 -04:00
Alex Waygood
a3900d2b0b
[pyflakes] Fix preview-mode bugs in F401 when attempting to autofix unused first-party submodule imports in an __init__.py file ( #12569 )
2024-07-31 13:34:30 +01:00
Alex Waygood
83b1c48a93
Make setting and retrieving pydocstyle settings less tedious ( #12582 )
2024-07-31 10:39:33 +01:00
Micha Reiser
138e70bd5c
Upgrade to Rust 1.80 ( #12586 )
2024-07-30 19:18:08 +00:00
Eero Vaher
ee103ffb25
Fix an argument name in B905 description ( #12588 )
...
The description of `zip-without-explicit-strict` erroneously mentions a
non-existing `check` argument for `zip()`.
2024-07-30 14:40:56 -04:00
Micha Reiser
18f87b9497
Flaky file watching tests, add debug assertions ( #12587 )
2024-07-30 18:09:55 +00:00
Micha Reiser
adc8d4e1e7
File watch events: Add dynamic wait period before writing new changes ( #12585 )
2024-07-30 19:18:43 +02:00
Alex Waygood
90db361199
Consider more stdlib decorators to be property-like ( #12583 )
2024-07-30 17:18:23 +00:00
Alex Waygood
4738135801
Improve consistency between linter rules in determining whether a function is property ( #12581 )
2024-07-30 17:42:04 +01:00
Micha Reiser
264cd750e9
Add delay between updating a file ( #12576 )
2024-07-30 18:31:29 +02:00
Alex Waygood
7a4419a2a5
Improve handling of metaclasses in various linter rules ( #12579 )
2024-07-30 14:48:36 +01:00
Alex Waygood
ac1666d6e2
Remove several incorrect uses of map_callable() ( #12580 )
2024-07-30 14:30:25 +01:00
epenet
459c85ba27
[flake8-return] Exempt cached properties and other property-like decorators from explicit return rule (RET501) ( #12563 )
...
Co-authored-by: Alex Waygood <alex.waygood@gmail.com >
2024-07-30 11:06:28 +00:00
Alex Waygood
aaa56eb0bd
Fix NFKC normalization bug when removing unused imports ( #12571 )
2024-07-30 09:54:35 +00:00
Dhruv Manilawala
f3c14a4276
Keep track of deleted cell for reorder change request ( #12575 )
...
## Summary
This PR fixes a bug where the server wouldn't retain the cell content in
case of a reorder change request.
As mentioned in
https://github.com/astral-sh/ruff/issues/12573#issuecomment-2257819298 ,
this change request is modeled as (a) remove these cell URIs and (b) add
these cell URIs. The cell content isn't provided. But, the way we've
modeled the `NotebookCell` (it contains the underlying `TextDocument`),
we need to keep track of the deleted cells to get the content.
This is not an ideal solution and a better long term solution would be
to model it as per the spec but that is a big structural change and will
affect multiple parts of the server. Modeling as per the spec would also
avoid bugs like https://github.com/astral-sh/ruff/pull/11864 . For
context, that model would add complexity per
https://github.com/astral-sh/ruff/pull/11206#discussion_r1600165481 .
fixes : #12573
## Test Plan
This video shows the before and after the bug is fixed:
https://github.com/user-attachments/assets/2fcad4b5-f9af-4776-8640-4cd1fa16e325
2024-07-30 09:51:26 +00:00
Alex Waygood
3169d408fa
[red-knot] Fix typos in the module resolver ( #12574 )
2024-07-30 09:38:38 +00:00
Micha Reiser
a2286c8e47
Set Durability to 'HIGH' for most inputs and third-party libraries ( #12566 )
2024-07-30 09:03:59 +00:00
Piotr Osiewicz
fb9f566f56
Use $/logTrace for server trace logs in Zed and VS Code ( #12564 )
...
## Summary
This pull request adds support for logging via `$/logTrace` RPC
messages. It also enables that code path for when a client is Zed editor
or VS Code (as there's no way for us to generically tell whether a client prefers
`$/logTrace` over stderr.
Related to: #12523
## Test Plan
I've built Ruff from this branch and tested it manually with Zed.
---------
Co-authored-by: Dhruv Manilawala <dhruvmanila@gmail.com >
2024-07-30 08:32:20 +05:30
Micha Reiser
381bd1ff4a
Delete left over debug statement ( #12567 )
2024-07-29 16:16:12 +02:00
Micha Reiser
2f54d05d97
Remove salsa::report_untracked_read when finding the dynamic module resolution paths ( #12509 )
2024-07-29 09:31:29 +00:00
Micha Reiser
e18b4e42d3
[red-knot] Upgrade to the *new* *new* salsa ( #12406 )
2024-07-29 07:21:24 +00:00
Dhruv Manilawala
9495331a5f
Recommend client config for trace setting in Neovim ( #12562 )
2024-07-29 06:14:34 +00:00
renovate[bot]
e1076db7d0
Update CodSpeedHQ/action action to v3 ( #12559 )
2024-07-29 07:37:02 +02:00
renovate[bot]
1986c9e8e2
Update NPM Development dependencies ( #12556 )
2024-07-28 22:17:44 -04:00
renovate[bot]
d7e80dc955
Update pre-commit dependencies ( #12555 )
2024-07-28 22:17:34 -04:00
renovate[bot]
87d09f77cd
Update Rust crate imperative to v1.0.6 ( #12552 )
2024-07-28 22:17:28 -04:00
renovate[bot]
bd37ef13b8
Update Rust crate bstr to v1.10.0 ( #12557 )
2024-07-28 22:17:11 -04:00
renovate[bot]
ec23c974db
Update Rust crate toml to v0.8.16 ( #12554 )
2024-07-28 22:17:01 -04:00
renovate[bot]
122e5ab428
Update Rust crate serde_json to v1.0.121 ( #12553 )
2024-07-28 22:16:55 -04:00
renovate[bot]
2f2149aca8
Update Rust crate env_logger to v0.11.5 ( #12550 )
2024-07-28 22:16:49 -04:00
renovate[bot]
9d5c31e7da
Update Rust crate imara-diff to v0.1.7 ( #12551 )
2024-07-28 22:16:42 -04:00
renovate[bot]
25f3ad6238
Update Rust crate clap to v4.5.11 ( #12549 )
2024-07-28 22:16:36 -04:00
renovate[bot]
79926329a4
Update Rust crate argfile to v0.2.1 ( #12548 )
2024-07-28 22:16:31 -04:00
Aleksei Latyshev
9cdc578dd9
[flake8-builtins] Implement import, lambda, and module shadowing ( #12546 )
...
## Summary
<!-- What's the purpose of the change? What does it do, and why? -->
Extend `flake8-builtins` to imports, lambda-arguments, and modules to be
consistent with original checker
[flake8_builtins](https://github.com/gforcada/flake8-builtins/blob/main/flake8_builtins.py ).
closes #12540
## Details
- Implement builtin-import-shadowing (A004)
- Stop tracking imports shadowing in builtin-variable-shadowing (A001)
in preview mode.
- Implement builtin-lambda-argument-shadowing (A005)
- Implement builtin-module-shadowing (A006)
- Add new option `linter.flake8_builtins.builtins_allowed_modules`
## Test Plan
cargo test
2024-07-29 01:42:42 +00:00
Charlie Marsh
665c75f7ab
Add document for executable determination ( #12547 )
...
Closes https://github.com/astral-sh/ruff/issues/12505 .
2024-07-28 16:23:00 -04:00
Micha Reiser
f37b39d6cc
Allow downloading ecosystem results from forks ( #12544 )
2024-07-27 19:57:19 +02:00
Charlie Marsh
e18c45c310
Avoid marking required imports as unused ( #12537 )
...
## Summary
If an import is marked as "required", we should never flag it as unused.
In practice, this is rare, since required imports are typically used for
`__future__` annotations, which are always considered "used".
Closes https://github.com/astral-sh/ruff/issues/12458 .
2024-07-26 14:23:43 -04:00
Charlie Marsh
d930052de8
Move required import parsing out of lint rule ( #12536 )
...
## Summary
Instead, make it part of the serialization and deserialization itself.
This makes it _much_ easier to reuse when solving
https://github.com/astral-sh/ruff/issues/12458 .
2024-07-26 13:35:45 -04:00
Sigurd Spieckermann
7ad4df9e9f
Complete FBT002 example with Enum argument ( #12525 )
...
## Summary
I've completed `FBT002` rule example with an `Enum` argument to show the
full usage in this case.
2024-07-26 11:50:19 -04:00
Charlie Marsh
425761e960
Use colon rather than dot formatting for integer-only types ( #12534 )
...
## Summary
Closes https://github.com/astral-sh/ruff/issues/12421 .
2024-07-26 15:48:19 +00:00
Carl Meyer
4b69271809
[red-knot] resolve int/list/dict/set/tuple to builtin type ( #12521 )
...
Now that we have builtins available, resolve some simple cases to the
right builtin type.
We should also adjust the display for types to include their module
name; that's not done yet here.
2024-07-26 08:21:31 -07:00
Micha Reiser
bf23d38a21
Remove unnecessary clone in workspace API ( #12529 )
2024-07-26 17:19:05 +02:00
Charlie Marsh
49f51583fa
Always allow explicit multi-line concatenations when implicit are banned ( #12532 )
...
## Summary
Closes https://github.com/astral-sh/ruff/issues/11582 .
2024-07-26 10:36:35 -04:00
Charlie Marsh
1fe4a5faed
Avoid recommending __slots__ for classes that inherit from more than namedtuple ( #12531 )
...
## Summary
Closes https://github.com/astral-sh/ruff/issues/11887 .
2024-07-26 14:24:40 +00:00