Zanie Blue
b0c88a2a42
Only test release builds on main ( #14475 )
...
This is one of the slowest remaining jobs in the pull request CI. We
could use a larger runner for a trivial speed-up (in exchange for $$),
but I don't think this is going to break often enough to merit testing
on every pull request commit? It's not a required job, so I don't feel
strongly about it, but it feels like a bit of a waste of compute.
Originally added in https://github.com/astral-sh/ruff/pull/11182
2024-11-19 22:47:46 -06:00
InSync
b9c53a74f9
[pycodestyle
] Exempt pytest.importorskip()
calls (E402
) ( #14474 )
...
## Summary
Resolves #13537 .
## Test Plan
`cargo nextest run` and `cargo insta test`.
2024-11-19 22:08:15 -05:00
cake-monotone
6a4d207db7
[red-knot] Refactoring the inference logic of lexicographic comparisons ( #14422 )
...
## Summary
closes #14279
### Limitations of the Current Implementation
#### Incorrect Error Propagation
In the current implementation of lexicographic comparisons, if the
result of an Eq operation is Ambiguous, the comparison stops
immediately, returning a bool instance. While this may yield correct
inferences, it fails to capture unsupported-operation errors that might
occur in subsequent comparisons.
```py
class A: ...
(int_instance(), A()) < (int_instance(), A()) # should error
```
#### Weak Inference in Specific Cases
> Example: `(int_instance(), "foo") == (int_instance(), "bar")`
> Current result: `bool`
> Expected result: `Literal[False]`
`Eq` and `NotEq` have unique behavior in lexicographic comparisons
compared to other operators. Specifically:
- For `Eq`, if any non-equal pair exists within the tuples being
compared, we can immediately conclude that the tuples are not equal.
- For `NotEq`, if any equal pair exists, we can conclude that the tuples
are unequal.
```py
a = (str_instance(), int_instance(), "foo")
reveal_type(a == a) # revealed: bool
reveal_type(a != a) # revealed: bool
b = (str_instance(), int_instance(), "bar")
reveal_type(a == b) # revealed: bool # should be Literal[False]
reveal_type(a != b) # revealed: bool # should be Literal[True]
```
#### Incorrect Support for Non-Boolean Rich Comparisons
In CPython, aside from `==` and `!=`, tuple comparisons return a
non-boolean result as-is. Tuples do not convert the value into `bool`.
Note: If all pairwise `==` comparisons between elements in the tuples
return Truthy, the comparison then considers the tuples' lengths.
Regardless of the return type of the dunder methods, the final result
can still be a boolean.
```py
from __future__ import annotations
class A:
def __eq__(self, o: object) -> str:
return "hello"
def __ne__(self, o: object) -> bytes:
return b"world"
def __lt__(self, o: A) -> float:
return 3.14
a = (A(), A())
reveal_type(a == a) # revealed: bool
reveal_type(a != a) # revealed: bool
reveal_type(a < a) # revealed: bool # should be: `float | Literal[False]`
```
### Key Changes
One of the major changes is that comparisons no longer end with a `bool`
result when a pairwise `Eq` result is `Ambiguous`. Instead, the function
attempts to infer all possible cases and unions the results. This
improvement allows for more robust type inference and better error
detection.
Additionally, as the function is now optimized for tuple comparisons,
the name has been changed from the more general
`infer_lexicographic_comparison` to `infer_tuple_rich_comparison`.
## Test Plan
mdtest included
2024-11-19 17:32:43 -08:00
Zanie Blue
42c35b6f44
Use larger GitHub runner for testing on Windows ( #14461 )
...
Reduces to 3m 50s (extra large) or 6m 5s (large) vs 9m 7s (standard)
2024-11-19 18:00:59 -06:00
Zanie Blue
9e79d64d62
Use Depot 16-core runner for testing on Linux ( #14460 )
...
Reduces Linux test CI to 1m 40s (16 core) or 2m 56s (8 core) to from 4m
25s. Times are approximate, as runner performance is pretty variable.
In uv, we use the 16 core runners.
2024-11-19 18:00:51 -06:00
Zanie Blue
582857f292
Use Depot 8-core runner for ecosystem tests ( #14463 )
...
I noticed this was exceedingly slow.
Reduces to 3m from 14m
2024-11-19 18:00:38 -06:00
Zanie Blue
9bbeb793e5
Specify the wasm-pack version explicitly ( #14465 )
...
There is an upstream bug with latest version detection
https://github.com/jetli/wasm-pack-action/issues/23
This causes random flakes of the wasm build job.
2024-11-19 18:00:27 -06:00
Micha Reiser
dbbe7a773c
Mark UP043 fix unsafe when the type annotation contains any comments ( #14458 )
2024-11-19 15:24:02 +01:00
InSync
5f09d4a90a
[ruff
] re
and regex
calls with unraw string as first argument (RUF039
) ( #14446 )
2024-11-19 13:44:55 +01:00
David Peter
f8c20258ae
[red-knot] Do not panic on f-string format spec expressions ( #14436 )
...
## Summary
Previously, we panicked on expressions like `f"{v:{f'0.2f'}}"` because
we did not infer types for expressions nested inside format spec
elements.
## Test Plan
```
cargo nextest run -p red_knot_workspace -- --ignored linter_af linter_gz
```
2024-11-19 10:04:51 +01:00
David Peter
d8538d8c98
[red-knot] Narrowing for type(x) is C
checks ( #14432 )
...
## Summary
Add type narrowing for `type(x) is C` conditions (and `else` clauses of
`type(x) is not C` conditionals):
```py
if type(x) is A:
reveal_type(x) # revealed: A
else:
reveal_type(x) # revealed: A | B
```
closes : #14431 , part of: #13694
## Test Plan
New Markdown-based tests.
2024-11-18 16:21:46 +01:00
InSync
3642381489
[ruff
] Add rule forbidding map(int, package.__version__.split('.'))
(RUF048
) ( #14373 )
...
Co-authored-by: Alex Waygood <alex.waygood@gmail.com>
2024-11-18 13:43:24 +00:00
Micha Reiser
1f07880d5c
Add tests for python version compatibility ( #14430 )
2024-11-18 12:26:55 +00:00
David Peter
d81b6cd334
[red-knot] Types for subexpressions of annotations ( #14426 )
...
## Summary
This patches up various missing paths where sub-expressions of type
annotations previously had no type attached. Examples include:
```py
tuple[int, str]
# ~~~~~~~~
type[MyClass]
# ~~~~~~~
Literal["foo"]
# ~~~~~
Literal["foo", Literal[1, 2]]
# ~~~~~~~~~~~~~
Literal[1, "a", random.illegal(sub[expr + ession])]
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
## Test Plan
```
cargo nextest run -p red_knot_workspace -- --ignored linter_af linter_gz
```
2024-11-18 13:03:27 +01:00
Micha Reiser
d99210c049
[red-knot] Default to python 3.9 ( #14429 )
2024-11-18 11:27:40 +00:00
Steve C
577653551c
[pylint
] - use sets when possible for PLR1714
autofix (repeated-equality-comparison
) ( #14372 )
2024-11-18 08:57:43 +01:00
Dhruv Manilawala
38a385fb6f
Simplify quote annotator logic for list expression ( #14425 )
...
## Summary
Follow-up to #14371 , this PR simplifies the visitor logic for list
expressions to remove the state management. We just need to make sure
that we visit the nested expressions using the `QuoteAnnotator` and not
the `Generator`. This is similar to what's being done for binary
expressions.
As per the
[grammar](https://typing.readthedocs.io/en/latest/spec/annotations.html#grammar-token-expression-grammar-annotation_expression ),
list expressions can be present which can contain other type expressions
(`Callable`):
```
| <Callable> '[' <Concatenate> '[' (type_expression ',')+
(name | '...') ']' ',' type_expression ']'
(where name must be a valid in-scope ParamSpec)
| <Callable> '[' '[' maybe_unpacked (',' maybe_unpacked)*
']' ',' type_expression ']'
```
## Test Plan
`cargo insta test`
2024-11-18 12:33:19 +05:30
renovate[bot]
cd2ae5aa2d
Update NPM Development dependencies ( #14416 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@cloudflare/workers-types](https://redirect.github.com/cloudflare/workerd )
| [`4.20241106.0` ->
`4.20241112.0`](https://renovatebot.com/diffs/npm/@cloudflare%2fworkers-types/4.20241106.0/4.20241112.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ))
| [`8.13.0` ->
`8.14.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.13.0/8.14.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser ))
| [`8.13.0` ->
`8.14.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.13.0/8.14.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [postcss](https://postcss.org/ )
([source](https://redirect.github.com/postcss/postcss )) | [`8.4.48` ->
`8.4.49`](https://renovatebot.com/diffs/npm/postcss/8.4.48/8.4.49 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [tailwindcss](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss )) |
[`3.4.14` ->
`3.4.15`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.14/3.4.15 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [vite](https://vite.dev )
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite ))
| [`5.4.10` ->
`5.4.11`](https://renovatebot.com/diffs/npm/vite/5.4.10/5.4.11 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| [`3.86.0` ->
`3.87.0`](https://renovatebot.com/diffs/npm/wrangler/3.86.0/3.87.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>cloudflare/workerd (@​cloudflare/workers-types)</summary>
###
[`v4.20241112.0`](8bf3af4699...7b28eb5032
)
[Compare
Source](8bf3af4699...7b28eb5032
)
</details>
<details>
<summary>typescript-eslint/typescript-eslint
(@​typescript-eslint/eslint-plugin)</summary>
###
[`v8.14.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8140-2024-11-11 )
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.13.0...v8.14.0 )
##### 🚀 Features
- **eslint-plugin:** \[await-thenable] report unnecessary `await using`
statements
([#​10209](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10209 ))
- **eslint-plugin:** \[no-confusing-void-expression] add an option to
ignore void<->void
([#​10067](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10067 ))
##### 🩹 Fixes
- **scope-manager:** fix asserted increments not being marked as write
references
([#​10271](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10271 ))
- **eslint-plugin:** \[no-misused-promises] improve report loc for
methods
([#​10216](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10216 ))
- **eslint-plugin:** \[no-unnecessary-condition] improve error message
for literal comparisons
([#​10194](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10194 ))
##### ❤️ Thank You
- Gyumong [@​Gyumong](https://redirect.github.com/Gyumong )
- Jan Ochwat [@​janek515](https://redirect.github.com/janek515 )
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger )
- Ronen Amiel
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning )
and
[releases](https://main--typescript-eslint.netlify.app/users/releases )
on our website.
</details>
<details>
<summary>typescript-eslint/typescript-eslint
(@​typescript-eslint/parser)</summary>
###
[`v8.14.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8140-2024-11-11 )
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.13.0...v8.14.0 )
This was a version bump only for parser to align it with other projects,
there were no code changes.
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning )
and
[releases](https://main--typescript-eslint.netlify.app/users/releases )
on our website.
</details>
<details>
<summary>postcss/postcss (postcss)</summary>
###
[`v8.4.49`](https://redirect.github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8449 )
[Compare
Source](https://redirect.github.com/postcss/postcss/compare/8.4.48...8.4.49 )
- Fixed custom syntax without `source.offset` (by
[@​romainmenke](https://redirect.github.com/romainmenke )).
</details>
<details>
<summary>tailwindlabs/tailwindcss (tailwindcss)</summary>
###
[`v3.4.15`](https://redirect.github.com/tailwindlabs/tailwindcss/releases/tag/v3.4.15 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.14...v3.4.15 )
- Bump versions for security vulnerabilities
([#​14697](https://redirect.github.com/tailwindlabs/tailwindcss/pull/14697 ))
- Ensure the TypeScript types for the `boxShadow` theme configuration
allows arrays
([#​14856](https://redirect.github.com/tailwindlabs/tailwindcss/pull/14856 ))
- Set fallback for opacity variables to ensure setting colors with the
`selection:*` variant works in Chrome 131
([#​15003](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15003 ))
</details>
<details>
<summary>vitejs/vite (vite)</summary>
###
[`v5.4.11`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.11 )
[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v5.4.10...v5.4.11 )
Please refer to
[CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.11/packages/vite/CHANGELOG.md )
for details.
</details>
<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>
###
[`v3.87.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#3870 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@3.86.1...wrangler@3.87.0 )
##### Minor Changes
-
[#​7201](https://redirect.github.com/cloudflare/workers-sdk/pull/7201 )
[`beed72e`](beed72e7f3
)
Thanks [@​GregBrimble](https://redirect.github.com/GregBrimble )! -
feat: Tail Consumers are now supported for Workers with assets.
You can now configure `tail_consumers` in conjunction with `assets` in
your `wrangler.toml` file. Read more about [Static
Assets](https://developers.cloudflare.com/workers/static-assets/ ) and
[Tail
Consumers](https://developers.cloudflare.com/workers/observability/logs/tail-workers/ )
in the documentation.
-
[#​7212](https://redirect.github.com/cloudflare/workers-sdk/pull/7212 )
[`837f2f5`](837f2f569b
)
Thanks [@​jonesphillip](https://redirect.github.com/jonesphillip )!
- Added r2 bucket info command to Wrangler. Improved formatting of r2
bucket list output
##### Patch Changes
-
[#​7210](https://redirect.github.com/cloudflare/workers-sdk/pull/7210 )
[`c12c0fe`](c12c0fed88
)
Thanks [@​taylorlee](https://redirect.github.com/taylorlee )! -
Avoid an unnecessary GET request during `wrangler deploy`.
-
[#​7197](https://redirect.github.com/cloudflare/workers-sdk/pull/7197 )
[`4814455`](4814455717
)
Thanks
[@​michelheusschen](https://redirect.github.com/michelheusschen )!
- fix console output for `wrangler d1 migrations create`
-
[#​6795](https://redirect.github.com/cloudflare/workers-sdk/pull/6795 )
[`94f07ee`](94f07eec15
)
Thanks [@​benmccann](https://redirect.github.com/benmccann )! -
chore: upgrade chokidar to v4
-
[#​7133](https://redirect.github.com/cloudflare/workers-sdk/pull/7133 )
[`c46e02d`](c46e02dfd7
)
Thanks [@​gpanders](https://redirect.github.com/gpanders )! - Do
not emit escape sequences when stdout is not a TTY
###
[`v3.86.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#3861 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@3.86.0...wrangler@3.86.1 )
##### Patch Changes
-
[#​7069](https://redirect.github.com/cloudflare/workers-sdk/pull/7069 )
[`b499b74`](b499b743e2
)
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Internal refactor to remove the non `--x-dev-env` flow from `wrangler
dev`
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/ruff ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 12:25:29 +05:30
renovate[bot]
41694f21c6
Update pre-commit dependencies ( #14419 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[abravalheri/validate-pyproject](https://redirect.github.com/abravalheri/validate-pyproject )
| repository | minor | `v0.22` -> `v0.23` |
|
[astral-sh/ruff-pre-commit](https://redirect.github.com/astral-sh/ruff-pre-commit )
| repository | patch | `v0.7.3` -> `v0.7.4` |
Note: The `pre-commit` manager in Renovate is not supported by the
`pre-commit` maintainers or community. Please do not report any problems
there, instead [create a Discussion in the Renovate
repository](https://redirect.github.com/renovatebot/renovate/discussions/new )
if you have any questions.
---
### Release Notes
<details>
<summary>abravalheri/validate-pyproject
(abravalheri/validate-pyproject)</summary>
###
[`v0.23`](https://redirect.github.com/abravalheri/validate-pyproject/releases/tag/v0.23 )
[Compare
Source](https://redirect.github.com/abravalheri/validate-pyproject/compare/v0.22...v0.23 )
#### What's Changed
- Validate SPDX license expressions by
[@​cdce8p](https://redirect.github.com/cdce8p ) in
[https://github.com/abravalheri/validate-pyproject/pull/217 ](https://redirect.github.com/abravalheri/validate-pyproject/pull/217 )
#### New Contributors
- [@​cdce8p](https://redirect.github.com/cdce8p ) made their first
contribution in
[https://github.com/abravalheri/validate-pyproject/pull/217 ](https://redirect.github.com/abravalheri/validate-pyproject/pull/217 )
**Full Changelog**:
https://github.com/abravalheri/validate-pyproject/compare/v0.22...v0.23
</details>
<details>
<summary>astral-sh/ruff-pre-commit (astral-sh/ruff-pre-commit)</summary>
###
[`v0.7.4`](https://redirect.github.com/astral-sh/ruff-pre-commit/releases/tag/v0.7.4 )
[Compare
Source](https://redirect.github.com/astral-sh/ruff-pre-commit/compare/v0.7.3...v0.7.4 )
See: https://github.com/astral-sh/ruff/releases/tag/0.7.4
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/astral-sh/ruff ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 11:27:14 +05:30
Charlie Marsh
fccbe56d23
Reverse order of __contains__
arguments ( #14424 )
...
## Summary
Closes https://github.com/astral-sh/ruff/issues/14423 .
2024-11-18 03:58:12 +00:00
Shantanu
c46555da41
Drive by typo fix ( #14420 )
...
Introduced in
https://github.com/astral-sh/ruff/pull/14397/files#diff-42314c006689490bbdfbeeb973de64046b3e069e3d88f67520aeba375f20e655
2024-11-18 03:03:36 +00:00
InSync
0a27c9dabd
[flake8-pie
] Mark fix as unsafe if the following statement is a string literal (PIE790
) ( #14393 )
...
## Summary
Resolves #12616 .
## Test Plan
`cargo nextest run` and `cargo insta test`.
---------
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2024-11-18 02:30:06 +00:00
InSync
3c9e76eb66
[flake8-datetimez
] Also exempt .time()
(DTZ901
) ( #14394 )
...
## Summary
Resolves #14378 .
## Test Plan
`cargo nextest run` and `cargo insta test`.
---------
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2024-11-18 02:24:35 +00:00
renovate[bot]
80f5cdcf66
Update dependency tomli to v2.1.0 ( #14418 )
2024-11-18 01:56:05 +00:00
renovate[bot]
35fe0e90da
Update Rust crate bstr to v1.11.0 ( #14417 )
2024-11-17 20:41:49 -05:00
renovate[bot]
157b49a8ee
Update dependency ruff to v0.7.4 ( #14415 )
2024-11-17 20:41:40 -05:00
renovate[bot]
8a6e223df5
Update dependency react-resizable-panels to v2.1.7 ( #14414 )
2024-11-17 20:41:34 -05:00
renovate[bot]
5a48da53da
Update Rust crate serde_json to v1.0.133 ( #14413 )
2024-11-17 20:41:29 -05:00
renovate[bot]
58005b590c
Update Rust crate serde to v1.0.215 ( #14412 )
2024-11-17 20:41:23 -05:00
renovate[bot]
884835e386
Update Rust crate libc to v0.2.164 ( #14411 )
2024-11-17 20:41:17 -05:00
renovate[bot]
efd4407f7f
Update Rust crate indicatif to v0.17.9 ( #14410 )
2024-11-17 20:41:13 -05:00
renovate[bot]
761588a60e
Update Rust crate clap to v4.5.21 ( #14409 )
2024-11-17 20:41:06 -05:00
Charlie Marsh
e1eb188049
Avoid panic in unfixable redundant-numeric-union
( #14402 )
...
## Summary
Closes https://github.com/astral-sh/ruff/issues/14396 .
2024-11-17 12:15:44 -05:00
Shaygan Hooshyari
ff19629b11
Understand typing.Optional
in annotations ( #14397 )
2024-11-17 17:04:58 +00:00
Micha Reiser
cd80c9d907
Fix Red Knot benchmarks on Windows ( #14400 )
2024-11-17 16:21:09 +00:00
Matt Norton
abb34828bd
Improve rule & options documentation ( #14329 )
...
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
Co-authored-by: Micha Reiser <micha@reiser.io>
2024-11-17 10:16:47 +01:00
InSync
cab7caf80b
[flake8-logging
] Suggest .getLogger(__name__)
instead of .getLogger(__file__)
(LOG015
) ( #14392 )
2024-11-17 09:22:52 +01:00
David Peter
d470f29093
[red-knot] Disable linter-corpus tests ( #14391 )
...
## Summary
Disable the no-panic tests for the linter corpus, as there are too many
problems right now, requiring linter-contributors to add their test
files to the allow-list.
We can still run the tests using `cargo test -p red_knot_workspace --
--ignored linter_af linter_gz`. This is also why I left the
`crates/ruff_linter/` entries in the allow list for now, even if they
will get out of sync. But let me know if I should rather remove them.
2024-11-16 23:33:19 +01:00
Simon Brugman
1fbed6c325
[ruff
] Implement redundant-bool-literal
(RUF038
) ( #14319 )
...
## Summary
Implements `redundant-bool-literal`
## Test Plan
<!-- How was it tested? -->
`cargo test`
The ecosystem results are all correct, but for `Airflow` the rule is not
relevant due to the use of overloading (and is marked as unsafe
correctly).
---------
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2024-11-16 21:52:51 +00:00
David Peter
4dcb7ddafe
[red-knot] Remove duplicates from KNOWN_FAILURES ( #14386 )
...
## Summary
- Sort the list of `KNOWN_FAILURES`
- Remove accidental duplicates
2024-11-16 20:54:21 +01:00
Micha Reiser
5be90c3a67
Split the corpus tests into smaller tests ( #14367 )
...
## Summary
This PR splits the corpus tests into smaller chunks because running all
of them takes 8s on my windows machine and it's by far the longest test
in `red_knot_workspace`.
Splitting the tests has the advantage that they run in parallel. This PR
brings down the wall time from 8s to 4s.
This PR also limits the glob for the linter tests because it's common to
clone cpython into the `ruff_linter/resources/test` folder for
benchmarks (because that's what's written in the contributing guides)
## Test Plan
`cargo test`
2024-11-16 20:29:21 +01:00
Tom Kuson
d0dca7bfcf
[pydoclint
] Update diagnostics to target the docstring ( #14381 )
...
## Summary
Updates the `pydoclint` diagnostics to target the docstring instead of a
related statement.
Closes #13184
## Test Plan
`cargo nextest run`
2024-11-16 13:32:20 -05:00
Simon Brugman
78210b198b
[flake8-pyi
] Implement redundant-none-literal
(PYI061
) ( #14316 )
...
## Summary
`Literal[None]` can be simplified into `None` in type annotations.
Surprising to see that this is not that rare:
-
https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/chat_models/base.py#L54
-
https://github.com/sqlalchemy/sqlalchemy/blob/main/lib/sqlalchemy/sql/annotation.py#L69
- https://github.com/jax-ml/jax/blob/main/jax/numpy/__init__.pyi#L961
-
https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/inference/_common.py#L179
## Test Plan
`cargo test`
Reviewed all ecosystem results, and they are true positives.
---------
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2024-11-16 18:22:51 +00:00
Simon Brugman
4a2310b595
[flake8-pyi
] Implement autofix for redundant-numeric-union
(PYI041
) ( #14273 )
...
## Summary
This PR adds autofix for `redundant-numeric-union` (`PYI041`)
There are some comments below to explain the reasoning behind some
choices that might help review.
<!-- What's the purpose of the change? What does it do, and why? -->
Resolves part of https://github.com/astral-sh/ruff/issues/14185 .
## Test Plan
<!-- How was it tested? -->
---------
Co-authored-by: Micha Reiser <micha@reiser.io>
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2024-11-16 18:13:23 +00:00
Dylan
fc392c663a
[flake8-type-checking
] Fix helper function which surrounds annotations in quotes ( #14371 )
...
This PR adds corrected handling of list expressions to the `Visitor`
implementation of `QuotedAnnotator` in `flake8_type_checking::helpers`.
Closes #14368
2024-11-16 12:58:02 -05:00
Alex Waygood
81d3c419e9
[red-knot] Simplify some traits in ast_ids.rs
( #14379 )
2024-11-16 17:22:23 +00:00
Micha Reiser
a6a3d3f656
Fix file watcher panic when event has no paths ( #14364 )
2024-11-16 08:36:57 +01:00
Micha Reiser
c847cad389
Update insta snapshots ( #14366 )
2024-11-15 19:31:15 +01:00
Micha Reiser
81e5830585
Workspace discovery ( #14308 )
2024-11-15 19:20:15 +01:00
Micha Reiser
2b58705cc1
Remove the optional salsa dependency from the AST crate ( #14363 )
2024-11-15 16:46:04 +00:00