mirror of
https://github.com/astral-sh/ruff.git
synced 2025-12-23 09:19:39 +00:00
12921 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5dd56264fb
|
[ty] Add tests for generic implicit type aliases (#21522)
## Summary Add a set of comprehensive tests for generic implicit type aliases to illustrate the current behavior with many flavors of `@Todo` types and false positive diagnostics. The tests are partially based on the typing conformance suite, and the expected behavior has been checked against other type checkers. |
||
|
|
18a14bfaf1
|
[ty] Semantic tokens: consistently add the DEFINITION modifier (#21521)
|
||
|
|
ffce0de3c4
|
Only render hyperlinks for terminals known to support them (#21519)
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
|
||
|
|
e29f3ed0fe
|
[ty] Keep colorizing mypy_primer output (#21515)
## Summary After an update to `mypy_primer`, we now need to set the environment variable ourselves. |
||
|
|
663f78e644
|
[ty] Exit with 2 if there's any IO error (#21508)
Co-authored-by: David Peter <mail@david-peter.de> |
||
|
|
c796a70ec9
|
[ruff] Fix false positive for complex conversion specifiers in logging-eager-conversion (RUF065) (#21464)
Co-authored-by: Amethyst Reese <amethyst@n7.gg> |
||
|
|
192c37d540
|
[ty] tighten up handling of subscripts in type expressions (#21503)
Some checks are pending
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
## Summary Get rid of the catch-all todo type from subscripting a base type we haven't implemented handling for yet in a type expression, and turn it into a diagnostic instead. Handle a few more cases explicitly, to avoid false positives from the above change: 1. Subscripting any dynamic type (not just a todo type) in a type expression should just result in that same dynamic type. This is important for gradual guarantee, and matches other type checkers. 2. Subscripting a generic alias may be an error or not, depending whether the specialization itself contains typevars. Don't try to handle this yet (it should be handled in a later PR for specializing generic non-PEP695 type aliases), just use a dedicated todo type for it. 3. Add a temporary todo branch to avoid false positives from string PEP 613 type aliases. This can be removed in the next PR, with PEP 613 type alias support. ## Test Plan Adjusted mdtests, ecosystem. All new diagnostics in conformance suite are supposed to be diagnostics, so this PR is a strict improvement there. New diagnostics in the ecosystem are surfacing cases where we already don't understand an annotation, but now we emit a diagnostic about it. They are mostly intentional choices. Analysis of particular cases: * `attrs`, `bokeh`, `django-stubs`, `dulwich`, `ibis`, `kornia`, `mitmproxy`, `mongo-python-driver`, `mypy`, `pandas`, `poetry`, `prefect`, `pydantic`, `pytest`, `scrapy`, `trio`, `werkzeug`, and `xarray` are all cases where under `from __future__ import annotations` or Python 3.14 deferred-annotations semantics, we follow normal name-scoping rules, whereas some other type checkers prefer global names over local names. This means we don't like it if e.g. you have a class with a method or attribute named `type` or `tuple`, and you also try to use `type` or `tuple` in method/attribute annotations of that class. This PR isn't changing those semantics, just revealing them in more cases where previously we just silently fell back to `Unknown`. I think failing with a diagnostic (so authors can alias names as needed to avoid relying on scoping rules that differ between type checkers) is better than failing silently here. * `beartype` assumes we support `TypeForm` (because it only supports mypy and pyright, it uses `if MYPY:` to hide the `TypeForm` from mypy, and pyright supports `TypeForm`), and we don't yet. * `graphql-core` likes to use a `try: ... except ImportError: ...` pattern for importing special forms from `typing` with fallback to `typing_extensions`, instead of using `sys.version_info` checks. We don't handle this well when type checking under an older Python version (where the import from `typing` is not found); we see the imported name as of type e.g. `Unknown | SpecialFormType(...)`, and because of the union with `Unknown` we fail to handle it as the special form type. Mypy and pyright also don't seem to support this pattern. They don't complain about subscripting such special forms, but they do silently fail to treat them as the desired special form. Again here, if we are going to fail I'd rather fail with a diagnostic rather than silently. * `ibis` is [trying to use](https://github.com/ibis-project/ibis/blob/main/ibis/common/collections.py#L372) `frozendict: type[FrozenDict]` as a way to create a "type alias" to `FrozenDict`, but this is wrong: that means `frozendict: type[FrozenDict[Any, Any]]`. * `mypy` has some errors due to the fact that type-checking `typing.pyi` itself (without knowing that it's the real `typing.pyi`) doesn't work very well. * `mypy-protobuf` imports some types from the protobufs library that end up unioned with `Unknown` for some reason, and so we don't allow explicit-specialization of them. Depending on the reason they end up unioned with `Unknown`, we might want to better support this? But it's orthogonal to this PR -- we aren't failing any worse here, just alerting the author that we didn't understand their annotation. * `pwndbg` has unresolved references due to star-importing from a dependency that isn't installed, and uses un-imported names like `Dict` in annotation expressions. Some of the unresolved references were hidden by https://github.com/astral-sh/ruff/blob/main/crates/ty_python_semantic/src/types/infer/builder.rs#L7223-L7228 when some annotations previously resolved to a Todo type that no longer do. |
||
|
|
0645418f00
|
Set the diagnostic URL for lint errors (#21514)
Summary -- This PR wires up the `Diagnostic::set_documentation_url` method from #21502 to Ruff's lint diagnostics. This enables the links for the full and concise output formats without any other changes. I considered also including the URLs for the grouped and pylint output formats, but the grouped format is still in `ruff_linter` instead of `ruff_db`, so we'd have to export some additional functionality to wire it up with `fmt_with_hyperlink`; and the pylint format doesn't currently render with color, so I think it might actually be machine readable rather than human readable? The other ouput formats (json, json-lines, junit, github, gitlab, rdjson, azure, sarif) seem more clearly not to need the links. Test Plan -- I guess you can't see my cursor or the browser opening, but it works for lint rules, which have links, and doesn't include a link for syntax errors, which don't have valid links.  |
||
|
|
62343a101a
|
Respect fmt: skip for compound statements on single line (#20633)
Closes #11216 Essentially the approach is to implement `Format` for a new struct `FormatClause` which is just a clause header _and_ its body. We then have the information we need to see whether there is a skip suppression comment on the last child in the body and it all fits on one line. |
||
|
|
8dad289062
|
[ty] Add Salsa caching to ClassLiteral::fields (#21512)
|
||
|
|
f67236b932
|
[ty] Better handling of "derived information" in constraint sets (#21463)
This saga began with a regression in how we handle constraint sets where a typevar is constrained by another typevar, which #21068 first added support for: ```py def mutually_constrained[T, U](): # If [T = U ∧ U ≤ int], then [T ≤ int] must be true as well. given_int = ConstraintSet.range(U, T, U) & ConstraintSet.range(Never, U, int) static_assert(given_int.implies_subtype_of(T, int)) ``` While working on #21414, I saw a regression in this test, which was strange, since that PR has nothing to do with this logic! The issue is that something in that PR made us instantiate the typevars `T` and `U` in a different order, giving them differently ordered salsa IDs. And importantly, we use these salsa IDs to define the variable ordering that is used in our constraint set BDDs. This showed that our "mutually constrained" logic only worked for one of the two possible orderings. (We can — and now do — test this in a brute-force way by copy/pasting the test with both typevar orderings.) The underlying bug was in our `ConstraintSet::simplify_and_domain` method. It would correctly detect `(U ≤ T ≤ U) ∧ (U ≤ int)`, because those two constraints affect different typevars, and from that, infer `T ≤ int`. But it wouldn't detect the equivalent pattern in `(T ≤ U ≤ T) ∧ (U ≤ int)`, since those constraints affect the same typevar. At first I tried adding that as yet more pattern-match logic in the ever-growing `simplify_and_domain` method. But doing so caused other tests to start failing. At that point, I realized that `simplify_and_domain` had gotten to the point where it was trying to do too much, and for conflicting consumers. It was first written as part of our display logic, where the goal is to remove redundant information from a BDD to make its string rendering simpler. But we also started using it to add "derived facts" to a BDD. A derived fact is a constraint that doesn't appear in the BDD directly, but which we can still infer to be true. Our failing test relies on derived facts — being able to infer that `T ≤ int` even though that particular constraint doesn't appear in the original BDD. Before, `simplify_and_domain` would trace through all of the constraints in a BDD, figure out the full set of derived facts, and _add those derived facts_ to the BDD structure. This is brittle, because those derived facts are not universally true! In our example, `T ≤ int` only holds along the BDD paths where both `T = U` and `U ≤ int`. Other paths will test the negations of those constraints, and on those, we _shouldn't_ infer `T ≤ int`. In theory it's possible (and we were trying) to use BDD operators to express that dependency...but that runs afoul of how we were simultaneously trying to _remove_ information to make our displays simpler. So, I ripped off the band-aid. `simplify_and_domain` is now _only_ used for display purposes. I have not touched it at all, except to remove some logic that is definitely not used by our `Display` impl. Otherwise, I did not want to touch that house of cards for now, since the display logic is not load-bearing for any type inference logic. For all non-display callers, we have a new **_sequent map_** data type, which tracks exactly the same derived information. But it does so (a) without trying to remove anything from the BDD, and (b) lazily, without updating the BDD structure. So the end result is that all of the tests (including the new regressions) pass, via a more efficient (and hopefully better structured/documented) implementation, at the cost of hanging onto a pile of display-related tech debt that we'll want to clean up at some point. |
||
|
|
cbc6863b8c
|
Fix panic when formatting comments in unary expressions (#21501)
## Summary This is another attempt at https://github.com/astral-sh/ruff/pull/21410 that fixes https://github.com/astral-sh/ruff/issues/19226. @MichaReiser helped me get something working in a very helpful pairing session. I pushed one additional commit moving the comments back from leading comments to trailing comments, which I think retains more of the input formatting. I was inspired by Dylan's PR (#21185) to make one of these tables: <table> <thead> <tr> <th scope="col">Input</th> <th scope="col">Main</th> <th scope="col">PR</th> </tr> </thead> <tbody> <tr> <td><pre lang="python"> if ( not # comment aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ): pass </pre></td> <td><pre lang="python"> if ( # comment not aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ): pass </pre></td> <td><pre lang="python"> if ( not # comment aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ): pass </pre></td> </tr> <tr> <td><pre lang="python"> if ( # unary comment not # operand comment ( # comment aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ) ): pass </pre></td> <td><pre lang="python"> if ( # unary comment # operand comment not ( # comment aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ) ): pass </pre></td> <td><pre lang="python"> if ( # unary comment not # operand comment ( # comment aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ) ): pass </pre></td> </tr> <tr> <td><pre lang="python"> if ( not # comment aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ): pass </pre></td> <td><pre lang="python"> if ( # comment not aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ): pass </pre></td> <td><pre lang="python"> if ( not aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa # comment + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ): pass </pre></td> </tr> </tbody> </table> hopefully it helps even though the snippets are much wider here. The two main differences are (1) that we now retain own-line comments between the unary operator and its operand instead of moving these to leading comments on the operator itself, and (2) that we move end-of-line comments between the operator and operand to dangling end-of-line comments on the operand (the last example in the table). ## Test Plan Existing tests, plus new ones based on the issue. As I noted below, I also ran the output from main on the unary.py file back through this branch to check that we don't reformat code from main. This made me feel a bit better about not preview-gating the changes in this PR. ```shell > git show main:crates/ruff_python_formatter/resources/test/fixtures/ruff/expression/unary.py | ruff format - | ./target/debug/ruff format --diff - > echo $? 0 ``` --------- Co-authored-by: Micha Reiser <micha@reiser.io> Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com> |
||
|
|
7043d51df0
|
[ty] Add hyperlinks to rule codes in CLI (#21502) | ||
|
|
5ca9c15fc8
|
[ty] Better invalid-assignment diagnostics (#21476)
## Summary Improve the diagnostic range for `invalid-assignment` diagnostics, and add source annotations for the value and target type. closes https://github.com/astral-sh/ty/issues/1556 ### Before <img width="836" height="601" alt="image" src="https://github.com/user-attachments/assets/a48219bb-58a8-4a83-b290-d09ef50ce5f0" /> ### After <img width="857" height="742" alt="image" src="https://github.com/user-attachments/assets/cfcaa4f4-94fb-459e-8d64-97050dfecb50" /> ## Ecosystem impact Very good! Due to the wider diagnostic range, we now pick up more `# type: ignore` directives that were supposed to suppress an invalid assignment diagnostic. ## Test Plan New snapshot tests |
||
|
|
7a739d6b76
|
[ty] Custom concise diagnostic messages (#21498)
Some checks are pending
CI / mkdocs (push) Waiting to run
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
## Summary This PR proposes that we add a new `set_concise_message` functionality to our `Diagnostic` construction API. When used, the concise message that is otherwise auto-generated from the main diagnostic message and the primary annotation will be overwritten with the custom message. To understand why this is desirable, let's look at the `invalid-key` diagnostic. This is how I *want* the full diagnostic to look like: <img width="620" height="282" alt="image" src="https://github.com/user-attachments/assets/3bf70f52-9d9f-4817-bc16-fb0ebf7c2113" /> However, without the change in this PR, the concise message would have the following form: ``` error[invalid-key]: Unknown key "Age" for TypedDict `Person`: Unknown key "Age" - did you mean "age"? ``` This duplication is why the full `invalid-key` diagnostic used a main diagnostic message that is only "Invalid key for TypedDict `Person`", to make that bearable: ``` error[invalid-key] Invalid key for TypedDict `Person`: Unknown key "Age" - did you mean "age"? ``` This is still less than ideal, *and* we had to make the "full" diagnostic worse. With the new API here, we have to make no such compromises. We need to do slightly more work (provide one additional custom-designed message), but we get to keep the "full" diagnostic that we actually want, and we can make the concise message more terse and readable: ``` error[invalid-key] Unknown key "Age" for TypedDict `Person` - did you mean "age"? ``` Similar problems exist for other diagnostics as well (I really want this for https://github.com/astral-sh/ruff/pull/21476). In this PR, I only changed `invalid-key` and `type-assertion-failure`. The PR here is somewhat related to the discussion in https://github.com/astral-sh/ty/issues/1418, but note that we are solving a problem that is unrelated to sub-diagnostics. ## Test Plan Updated tests |
||
|
|
d5a95ec824
|
[ty] Implicit type aliases: Add support for Callable (#21496)
## Summary
Add support for `Callable` special forms in implicit type aliases.
## Typing conformance
Four new tests are passing
## Ecosystem impact
* All of the `invalid-type-form` errors are from libraries that use
`mypy_extensions` and do something like `Callable[[NamedArg("x", str)],
int]`.
* A handful of new false positives because we do not support generic
specializations of implicit type aliases, yet. But other
* Everything else looks like true positives or known limitations
## Test Plan
New Markdown tests.
|
||
|
|
b1e354bd99
|
[ruff] Avoid false positive on ClassVar reassignment (RUF012) (#21478)
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Fixes #21389 Avoid RUF012 false positives when reassigning a ClassVar ## Test Plan <!-- How was it tested? --> Added the new reassignment scenario to `crates/ruff_linter/resources/test/fixtures/ruff/RUF012.py`. --------- Co-authored-by: Brent Westbrook <brentrwestbrook@gmail.com> |
||
|
|
e4a32ba644
|
[ty] Constraint sets compare generic callables correctly (#21392)
Some checks are pending
CI / test scripts (push) Blocked by required conditions
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / pre-commit (push) Waiting to run
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
Constraint sets can now track subtyping/assignability/etc of generic
callables correctly. For instance:
```py
def identity[T](t: T) -> T:
return t
constraints = ConstraintSet.always()
static_assert(constraints.implies_subtype_of(TypeOf[identity], Callable[[int], int]))
static_assert(constraints.implies_subtype_of(TypeOf[identity], Callable[[str], str]))
```
A generic callable can be considered an intersection of all of its
possible specializations, and an assignability check with an
intersection as the lhs side succeeds of _any_ of the intersected types
satisfies the check. Put another way, if someone expects to receive any
function with a signature of `(int) -> int`, we can give them
`identity`.
Note that the corresponding check using `is_subtype_of` directly does
not yet work, since #20093 has not yet hooked up the core typing
relationship logic to use constraint sets:
```py
# These currently fail
static_assert(is_subtype_of(TypeOf[identity], Callable[[int], int]))
static_assert(is_subtype_of(TypeOf[identity], Callable[[str], str]))
```
To do this, we add a new _existential quantification_ operation on
constraint sets. This takes in a list of typevars and _removes_ those
typevars from the constraint set. Conceptually, we return a new
constraint set that evaluates to `true` when there was _any_ assignment
of the removed typevars that caused the old constraint set to evaluate
to `true`.
When comparing a generic constraint set, we add its typevars to the
`inferable` set, and figure out whatever constraints would allow any
specialization to satisfy the check. We then use the new existential
quantification operator to remove those new typevars, since the caller
doesn't (and shouldn't) know anything about them.
---------
Co-authored-by: David Peter <sharkdp@users.noreply.github.com>
|
||
|
|
ac2d07e83c
|
Mention force-exclude in "Configuration > Python file discovery" (#21500)
|
||
|
|
8156b45173
|
Avoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (#20418)
Closes #19350 This fixes a syntax error caused by formatting. However, the new tests reveal that there are some cases where formatting attributes with certain comments behaves strangely, both before and after this PR, so some more polish may be in order. For example, without parentheses around the value, and both before and after this PR, we have: ```python # unformatted variable = ( something # a comment .first_method("some string") ) # formatted variable = something.first_method("some string") # a comment ``` which is probably not where the comment ought to go. |
||
|
|
d063c71177
|
[ty] suppress invalid suggestions in import statements (#21484)
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Partially addresses https://github.com/astral-sh/ty/issues/1562 Only suggest the keyword "as" in import statements when the user have written `import foo a<CURSOR>` or `from foo import bar a<CURSOR>` as no other suggestion makes sense here. Re-uses the existing pattern for incomplete `import from` statements to determine incomplete import alias statements and make the suggestions more sane in those cases. There was a potential suggestion from @BurntSushi in https://github.com/astral-sh/ty/issues/1562#issue-3626853513 to move the handling of import statements into one unified state machine but I acted on the side of caution and fixed this with already established patterns, pending a potential bigger re-write down the line. ## Test Plan Added new tests and checked that it behaved reasonable in the playground. <!-- How was it tested? --> |
||
|
|
c16ef709f6
|
Limit eglot-format hook to eglot-managed Python buffers (#21459)
Running `eglot-format` in buffers not managed by Eglot causes a `jsonrpc-error` in Emacs 30. It may also display a `documentFormattingProvider` warning when the server does not support formatting. Add checks for both. |
||
|
|
04a3ec3689
|
Adjust own-line comment placement between branches (#21185)
This PR attempts to improve the placement of own-line comments between
branches in the setting where the comment is more indented than the
preceding node.
There are two main changes.
### First change: Preceding node has leading content
If the preceding node has leading content, we now regard the comment as
automatically _less_ indented than the preceding node, and format
accordingly.
For example,
```python
if True: preceding_node
# leading on `else`, not trailing on `preceding_node`
else: ...
```
This is more compatible with `black`, although there is a (presumably
very uncommon) edge case:
```python
if True:
this;that
# leading on `else`, but trailing in `black`
else: ...
```
I'm sort of okay with this - presumably if one wanted a comment for
those semi-colon separated statements, one should have put it _above_
them, and one wanted a comment only for `that` then it ought to have
been on the same line?
### Second change: searching for last child in body
While searching for the (recursively) last child in the body of the
preceding _branch_, we implicitly assumed that the preceding node had to
have a body to begin the recursion. But actually, in the base case, the
preceding node _is_ the last child in the body of the preceding branch.
So, for example:
```python
if True:
something
last_child_but_no_body
# leading on else for `main` but trailing in this PR
else: ...
```
### More examples
The table below is an attempt to summarize the changes in behavior. The
rows alternate between an example snippet with `while` and the same
example with `if` - in the former case we do _not_ have an `else` node
and in the latter we do.
Notice that:
1. On `main` our handling of `if` vs. `while` is not consistent, whereas
it is consistent in the present PR
2. We disagree with `black` in all cases except that last example on
`main`, but agree in all cases for the present PR (though see above for
a wonky edge case where we disagree).
<table>
<tr>
<th>Original
</th>
<th><code>main</code> </th>
<th>This
PR </th>
<th><code>black</code> </th>
</tr>
<tr>
<td>
<pre lang="python">
while True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
else:
# comment
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
# comment
else:
pass
</pre>
</td>
</tr>
<tr>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
</tr>
<tr>
<td>
<pre lang="python">
while True: pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
# comment
else:
pass
</pre>
</td>
</tr>
<tr>
<td>
<pre lang="python">
if True: pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
</tr>
<tr>
<td>
<pre lang="python">
while True: pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
else:
# comment
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
while True:
pass
# comment
else:
pass
</pre>
</td>
</tr>
<tr>
<td>
<pre lang="python">
if True: pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
<td>
<pre lang="python">
if True:
pass
# comment
else:
pass
</pre>
</td>
</tr>
</table>
|
||
|
|
1a86e13472
|
[ty] Subscript assignment diagnostics follow-up (#21452)
## Summary Follow up from https://github.com/astral-sh/ruff/pull/21411. Again, there are more things that could be improved here (like the diagnostics for `lists`, or extending what we have for `dict` to `OrderedDict` etc), but that will have to be postponed. |
||
|
|
901e9cdf49
|
[ty] Inlay hint call argument location (#20349)
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
Co-authored-by: Micha Reiser <micha@reiser.io> |
||
|
|
58fa1d71b6
|
[ty] Use CompactStr for StringLiteralType (#21497)
|
||
|
|
d9fc0f08b4
|
Update CodSpeedHQ/action action to v4.3.4 (#21488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
09deeabda5
|
Update salsa digest to a885bb4 (#21486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
1436e688cc
|
Update dependency ruff to v0.14.5 (#21489)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [ruff](https://docs.astral.sh/ruff) ([source](https://redirect.github.com/astral-sh/ruff), [changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `==0.14.4` -> `==0.14.5` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.14.5`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0145) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.14.4...0.14.5) Released on 2025-11-13. ##### Preview features - \[`flake8-simplify`] Apply `SIM113` when index variable is of type `int` ([#​21395](https://redirect.github.com/astral-sh/ruff/pull/21395)) - \[`pydoclint`] Fix false positive when Sphinx directives follow a "Raises" section (`DOC502`) ([#​20535](https://redirect.github.com/astral-sh/ruff/pull/20535)) - \[`pydoclint`] Support NumPy-style comma-separated parameters (`DOC102`) ([#​20972](https://redirect.github.com/astral-sh/ruff/pull/20972)) - \[`refurb`] Auto-fix annotated assignments (`FURB101`) ([#​21278](https://redirect.github.com/astral-sh/ruff/pull/21278)) - \[`ruff`] Ignore `str()` when not used for simple conversion (`RUF065`) ([#​21330](https://redirect.github.com/astral-sh/ruff/pull/21330)) ##### Bug fixes - Fix syntax error false positive on alternative `match` patterns ([#​21362](https://redirect.github.com/astral-sh/ruff/pull/21362)) - \[`flake8-simplify`] Fix false positive for iterable initializers with generator arguments (`SIM222`) ([#​21187](https://redirect.github.com/astral-sh/ruff/pull/21187)) - \[`pyupgrade`] Fix false positive on relative imports from local `.builtins` module (`UP029`) ([#​21309](https://redirect.github.com/astral-sh/ruff/pull/21309)) - \[`pyupgrade`] Consistently set the deprecated tag (`UP035`) ([#​21396](https://redirect.github.com/astral-sh/ruff/pull/21396)) ##### Rule changes - \[`refurb`] Detect empty f-strings (`FURB105`) ([#​21348](https://redirect.github.com/astral-sh/ruff/pull/21348)) ##### CLI - Add option to provide a reason to `--add-noqa` ([#​21294](https://redirect.github.com/astral-sh/ruff/pull/21294)) - Add upstream linter URL to `ruff linter --output-format=json` ([#​21316](https://redirect.github.com/astral-sh/ruff/pull/21316)) - Add color to `--help` ([#​21337](https://redirect.github.com/astral-sh/ruff/pull/21337)) ##### Documentation - Add a new "Opening a PR" section to the contribution guide ([#​21298](https://redirect.github.com/astral-sh/ruff/pull/21298)) - Added the PyScripter IDE to the list of "Who is using Ruff?" ([#​21402](https://redirect.github.com/astral-sh/ruff/pull/21402)) - Update PyCharm setup instructions ([#​21409](https://redirect.github.com/astral-sh/ruff/pull/21409)) - \[`flake8-annotations`] Add link to `allow-star-arg-any` option (`ANN401`) ([#​21326](https://redirect.github.com/astral-sh/ruff/pull/21326)) ##### Other changes - \[`configuration`] Improve error message when `line-length` exceeds `u16::MAX` ([#​21329](https://redirect.github.com/astral-sh/ruff/pull/21329)) ##### Contributors - [@​njhearp](https://redirect.github.com/njhearp) - [@​11happy](https://redirect.github.com/11happy) - [@​hugovk](https://redirect.github.com/hugovk) - [@​Gankra](https://redirect.github.com/Gankra) - [@​ntBre](https://redirect.github.com/ntBre) - [@​pyscripter](https://redirect.github.com/pyscripter) - [@​danparizher](https://redirect.github.com/danparizher) - [@​MichaReiser](https://redirect.github.com/MichaReiser) - [@​henryiii](https://redirect.github.com/henryiii) - [@​charliecloudberry](https://redirect.github.com/charliecloudberry) </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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
d6c34b98a5
|
Update astral-sh/setup-uv action to v7.1.3 (#21487)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [astral-sh/setup-uv](https://redirect.github.com/astral-sh/setup-uv) | action | patch | `v7.1.2` -> `v7.1.3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>astral-sh/setup-uv (astral-sh/setup-uv)</summary> ### [`v7.1.3`](https://redirect.github.com/astral-sh/setup-uv/releases/tag/v7.1.3): 🌈 Support act [Compare Source](https://redirect.github.com/astral-sh/setup-uv/compare/v7.1.2...v7.1.3) ##### Changes This bug fix release adds support for <https://github.com/nektos/act> It was previously broken because of a too new `undici` version and TS transpilation target. Compatibility with act is now automatically tested. ##### 🐛 Bug fixes - use old undici and ES2022 target for act support [@​eifinger](https://redirect.github.com/eifinger) ([#​678](https://redirect.github.com/astral-sh/setup-uv/issues/678)) ##### 🧰 Maintenance - chore: update known checksums for 0.9.8 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​677](https://redirect.github.com/astral-sh/setup-uv/issues/677)) - chore: update known checksums for 0.9.7 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​671](https://redirect.github.com/astral-sh/setup-uv/issues/671)) - chore: update known checksums for 0.9.6 @​[github-actions\[bot\]](https://redirect.github.com/apps/github-actions) ([#​670](https://redirect.github.com/astral-sh/setup-uv/issues/670)) ##### 📚 Documentation - Correct description of `cache-dependency-glob` [@​allanlewis](https://redirect.github.com/allanlewis) ([#​676](https://redirect.github.com/astral-sh/setup-uv/issues/676)) </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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
1b50e032a4
|
Update Rust crate get-size2 to v0.7.2 (#21490)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [get-size2](https://redirect.github.com/bircni/get-size2) |
workspace.dependencies | patch | `0.7.1` -> `0.7.2` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>bircni/get-size2 (get-size2)</summary>
###
[`v0.7.2`](https://redirect.github.com/bircni/get-size2/blob/HEAD/CHANGELOG.md#072---2025-11-13)
[Compare
Source](https://redirect.github.com/bircni/get-size2/compare/0.7.1...0.7.2)
##### Documentation
- Update docs with correct links -
([b234d70](
|
||
|
|
687ed292f6
|
Update Rust crate indicatif to v0.18.3 (#21491)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [indicatif](https://redirect.github.com/console-rs/indicatif) | workspace.dependencies | patch | `0.18.2` -> `0.18.3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>console-rs/indicatif (indicatif)</summary> ### [`v0.18.3`](https://redirect.github.com/console-rs/indicatif/releases/tag/0.18.3) [Compare Source](https://redirect.github.com/console-rs/indicatif/compare/0.18.2...0.18.3) #### What's Changed - Add ProgressBar::set\_elapsed by [@​sunshowers](https://redirect.github.com/sunshowers) in [#​742](https://redirect.github.com/console-rs/indicatif/pull/742) </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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
0554b1ca8a
|
Update Rust crate quick-junit to v0.5.2 (#21492)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [quick-junit](https://redirect.github.com/nextest-rs/quick-junit) | workspace.dependencies | patch | `0.5.1` -> `0.5.2` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>nextest-rs/quick-junit (quick-junit)</summary> ### [`v0.5.2`](https://redirect.github.com/nextest-rs/quick-junit/blob/HEAD/CHANGELOG.md#052---2025-11-10) [Compare Source](https://redirect.github.com/nextest-rs/quick-junit/compare/quick-junit-0.5.1...quick-junit-0.5.2) ##### Added - A long-requested feature: deserialization support for reports! The new deserializer has undergone fuzzing and property-based testing, and it is known to work with JUnit reports generated by quick-junit. The deserializer should work with JUnit reports generated by other tools as well. If it doesn't, fixes are welcome. - The new `proptest` feature allows for generation of arbitrary `Report`s. ##### Updated Internal dependency update: `quick-xml` updated to 0.38.3. </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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
bbe42bc775
|
Update taiki-e/install-action action to v2.62.52 (#21493)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [taiki-e/install-action](https://redirect.github.com/taiki-e/install-action) | action | patch | `v2.62.49` -> `v2.62.52` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>taiki-e/install-action (taiki-e/install-action)</summary> ### [`v2.62.52`](https://redirect.github.com/taiki-e/install-action/blob/HEAD/CHANGELOG.md#100---2021-12-30) [Compare Source](https://redirect.github.com/taiki-e/install-action/compare/v2.62.51...v2.62.52) Initial release [Unreleased]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.52...HEAD [2.62.52]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.51...v2.62.52 [2.62.51]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.50...v2.62.51 [2.62.50]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.49...v2.62.50 [2.62.49]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.48...v2.62.49 [2.62.48]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.47...v2.62.48 [2.62.47]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.46...v2.62.47 [2.62.46]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.45...v2.62.46 [2.62.45]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.44...v2.62.45 [2.62.44]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.43...v2.62.44 [2.62.43]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.42...v2.62.43 [2.62.42]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.41...v2.62.42 [2.62.41]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.40...v2.62.41 [2.62.40]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.39...v2.62.40 [2.62.39]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.38...v2.62.39 [2.62.38]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.37...v2.62.38 [2.62.37]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.36...v2.62.37 [2.62.36]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.35...v2.62.36 [2.62.35]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.34...v2.62.35 [2.62.34]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.33...v2.62.34 [2.62.33]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.32...v2.62.33 [2.62.32]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.31...v2.62.32 [2.62.31]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.30...v2.62.31 [2.62.30]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.29...v2.62.30 [2.62.29]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.28...v2.62.29 [2.62.28]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.27...v2.62.28 [2.62.27]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.26...v2.62.27 [2.62.26]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.25...v2.62.26 [2.62.25]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.24...v2.62.25 [2.62.24]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.23...v2.62.24 [2.62.23]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.22...v2.62.23 [2.62.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.21...v2.62.22 [2.62.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.20...v2.62.21 [2.62.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.19...v2.62.20 [2.62.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.18...v2.62.19 [2.62.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.17...v2.62.18 [2.62.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.16...v2.62.17 [2.62.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.15...v2.62.16 [2.62.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.14...v2.62.15 [2.62.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.13...v2.62.14 [2.62.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.12...v2.62.13 [2.62.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.11...v2.62.12 [2.62.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.10...v2.62.11 [2.62.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.9...v2.62.10 [2.62.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.8...v2.62.9 [2.62.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.7...v2.62.8 [2.62.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.6...v2.62.7 [2.62.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.5...v2.62.6 [2.62.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.4...v2.62.5 [2.62.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.3...v2.62.4 [2.62.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.2...v2.62.3 [2.62.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.1...v2.62.2 [2.62.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.62.0...v2.62.1 [2.62.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.13...v2.62.0 [2.61.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.12...v2.61.13 [2.61.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.11...v2.61.12 [2.61.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.10...v2.61.11 [2.61.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.9...v2.61.10 [2.61.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.8...v2.61.9 [2.61.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.7...v2.61.8 [2.61.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.6...v2.61.7 [2.61.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.5...v2.61.6 [2.61.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.4...v2.61.5 [2.61.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.3...v2.61.4 [2.61.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.2...v2.61.3 [2.61.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.1...v2.61.2 [2.61.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.61.0...v2.61.1 [2.61.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.60.0...v2.61.0 [2.60.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.59.1...v2.60.0 [2.59.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.59.0...v2.59.1 [2.59.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.33...v2.59.0 [2.58.33]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.32...v2.58.33 [2.58.32]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.31...v2.58.32 [2.58.31]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.30...v2.58.31 [2.58.30]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.29...v2.58.30 [2.58.29]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.28...v2.58.29 [2.58.28]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.27...v2.58.28 [2.58.27]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.26...v2.58.27 [2.58.26]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.25...v2.58.26 [2.58.25]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.24...v2.58.25 [2.58.24]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.23...v2.58.24 [2.58.23]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.22...v2.58.23 [2.58.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.21...v2.58.22 [2.58.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.20...v2.58.21 [2.58.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.19...v2.58.20 [2.58.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.18...v2.58.19 [2.58.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.17...v2.58.18 [2.58.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.16...v2.58.17 [2.58.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.15...v2.58.16 [2.58.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.14...v2.58.15 [2.58.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.13...v2.58.14 [2.58.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.12...v2.58.13 [2.58.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.11...v2.58.12 [2.58.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.10...v2.58.11 [2.58.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.9...v2.58.10 [2.58.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.8...v2.58.9 [2.58.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.7...v2.58.8 [2.58.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.6...v2.58.7 [2.58.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.5...v2.58.6 [2.58.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.4...v2.58.5 [2.58.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.3...v2.58.4 [2.58.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.2...v2.58.3 [2.58.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.1...v2.58.2 [2.58.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.58.0...v2.58.1 [2.58.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.8...v2.58.0 [2.57.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.7...v2.57.8 [2.57.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.6...v2.57.7 [2.57.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.5...v2.57.6 [2.57.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.4...v2.57.5 [2.57.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.3...v2.57.4 [2.57.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.2...v2.57.3 [2.57.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.1...v2.57.2 [2.57.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.57.0...v2.57.1 [2.57.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.24...v2.57.0 [2.56.24]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.23...v2.56.24 [2.56.23]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.22...v2.56.23 [2.56.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.21...v2.56.22 [2.56.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.20...v2.56.21 [2.56.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.19...v2.56.20 [2.56.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.18...v2.56.19 [2.56.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.17...v2.56.18 [2.56.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.16...v2.56.17 [2.56.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.15...v2.56.16 [2.56.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.14...v2.56.15 [2.56.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.13...v2.56.14 [2.56.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.12...v2.56.13 [2.56.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.11...v2.56.12 [2.56.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.10...v2.56.11 [2.56.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.9...v2.56.10 [2.56.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.8...v2.56.9 [2.56.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.7...v2.56.8 [2.56.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.6...v2.56.7 [2.56.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.5...v2.56.6 [2.56.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.4...v2.56.5 [2.56.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.3...v2.56.4 [2.56.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.2...v2.56.3 [2.56.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.1...v2.56.2 [2.56.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.56.0...v2.56.1 [2.56.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.55.4...v2.56.0 [2.55.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.55.3...v2.55.4 [2.55.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.55.2...v2.55.3 [2.55.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.55.1...v2.55.2 [2.55.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.55.0...v2.55.1 [2.55.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.54.3...v2.55.0 [2.54.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.54.2...v2.54.3 [2.54.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.54.1...v2.54.2 [2.54.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.54.0...v2.54.1 [2.54.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.53.2...v2.54.0 [2.53.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.53.1...v2.53.2 [2.53.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.53.0...v2.53.1 [2.53.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.8...v2.53.0 [2.52.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.7...v2.52.8 [2.52.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.6...v2.52.7 [2.52.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.5...v2.52.6 [2.52.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.4...v2.52.5 [2.52.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.3...v2.52.4 [2.52.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.2...v2.52.3 [2.52.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.1...v2.52.2 [2.52.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.52.0...v2.52.1 [2.52.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.51.3...v2.52.0 [2.51.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.51.2...v2.51.3 [2.51.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.51.1...v2.51.2 [2.51.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.51.0...v2.51.1 [2.51.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.10...v2.51.0 [2.50.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.9...v2.50.10 [2.50.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.8...v2.50.9 [2.50.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.7...v2.50.8 [2.50.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.6...v2.50.7 [2.50.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.5...v2.50.6 [2.50.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.4...v2.50.5 [2.50.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.3...v2.50.4 [2.50.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.2...v2.50.3 [2.50.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.1...v2.50.2 [2.50.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.50.0...v2.50.1 [2.50.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.50...v2.50.0 [2.49.50]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.49...v2.49.50 [2.49.49]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.48...v2.49.49 [2.49.48]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.47...v2.49.48 [2.49.47]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.46...v2.49.47 [2.49.46]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.45...v2.49.46 [2.49.45]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.44...v2.49.45 [2.49.44]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.43...v2.49.44 [2.49.43]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.42...v2.49.43 [2.49.42]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.41...v2.49.42 [2.49.41]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.40...v2.49.41 [2.49.40]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.39...v2.49.40 [2.49.39]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.38...v2.49.39 [2.49.38]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.37...v2.49.38 [2.49.37]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.36...v2.49.37 [2.49.36]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.35...v2.49.36 [2.49.35]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.34...v2.49.35 [2.49.34]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.33...v2.49.34 [2.49.33]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.32...v2.49.33 [2.49.32]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.31...v2.49.32 [2.49.31]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.30...v2.49.31 [2.49.30]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.29...v2.49.30 [2.49.29]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.28...v2.49.29 [2.49.28]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.27...v2.49.28 [2.49.27]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.26...v2.49.27 [2.49.26]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.25...v2.49.26 [2.49.25]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.24...v2.49.25 [2.49.24]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.23...v2.49.24 [2.49.23]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.22...v2.49.23 [2.49.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.21...v2.49.22 [2.49.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.20...v2.49.21 [2.49.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.19...v2.49.20 [2.49.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.18...v2.49.19 [2.49.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.17...v2.49.18 [2.49.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.16...v2.49.17 [2.49.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.15...v2.49.16 [2.49.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.14...v2.49.15 [2.49.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.13...v2.49.14 [2.49.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.12...v2.49.13 [2.49.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.11...v2.49.12 [2.49.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.10...v2.49.11 [2.49.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.9...v2.49.10 [2.49.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.8...v2.49.9 [2.49.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.7...v2.49.8 [2.49.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.6...v2.49.7 [2.49.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.5...v2.49.6 [2.49.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.4...v2.49.5 [2.49.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.3...v2.49.4 [2.49.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.2...v2.49.3 [2.49.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.1...v2.49.2 [2.49.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.49.0...v2.49.1 [2.49.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.22...v2.49.0 [2.48.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.21...v2.48.22 [2.48.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.20...v2.48.21 [2.48.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.19...v2.48.20 [2.48.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.18...v2.48.19 [2.48.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.17...v2.48.18 [2.48.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.16...v2.48.17 [2.48.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.15...v2.48.16 [2.48.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.14...v2.48.15 [2.48.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.13...v2.48.14 [2.48.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.12...v2.48.13 [2.48.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.11...v2.48.12 [2.48.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.10...v2.48.11 [2.48.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.9...v2.48.10 [2.48.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.8...v2.48.9 [2.48.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.7...v2.48.8 [2.48.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.6...v2.48.7 [2.48.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.5...v2.48.6 [2.48.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.4...v2.48.5 [2.48.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.3...v2.48.4 [2.48.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.2...v2.48.3 [2.48.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.1...v2.48.2 [2.48.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.48.0...v2.48.1 [2.48.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.32...v2.48.0 [2.47.32]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.31...v2.47.32 [2.47.31]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.30...v2.47.31 [2.47.30]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.29...v2.47.30 [2.47.29]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.28...v2.47.29 [2.47.28]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.27...v2.47.28 [2.47.27]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.26...v2.47.27 [2.47.26]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.25...v2.47.26 [2.47.25]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.24...v2.47.25 [2.47.24]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.23...v2.47.24 [2.47.23]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.22...v2.47.23 [2.47.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.21...v2.47.22 [2.47.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.20...v2.47.21 [2.47.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.19...v2.47.20 [2.47.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.18...v2.47.19 [2.47.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.17...v2.47.18 [2.47.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.16...v2.47.17 [2.47.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.15...v2.47.16 [2.47.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.14...v2.47.15 [2.47.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.13...v2.47.14 [2.47.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.12...v2.47.13 [2.47.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.11...v2.47.12 [2.47.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.10...v2.47.11 [2.47.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.9...v2.47.10 [2.47.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.8...v2.47.9 [2.47.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.7...v2.47.8 [2.47.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.6...v2.47.7 [2.47.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.5...v2.47.6 [2.47.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.4...v2.47.5 [2.47.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.3...v2.47.4 [2.47.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.2...v2.47.3 [2.47.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.1...v2.47.2 [2.47.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.47.0...v2.47.1 [2.47.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.20...v2.47.0 [2.46.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.19...v2.46.20 [2.46.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.18...v2.46.19 [2.46.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.17...v2.46.18 [2.46.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.16...v2.46.17 [2.46.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.15...v2.46.16 [2.46.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.14...v2.46.15 [2.46.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.13...v2.46.14 [2.46.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.12...v2.46.13 [2.46.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.11...v2.46.12 [2.46.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.10...v2.46.11 [2.46.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.9...v2.46.10 [2.46.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.8...v2.46.9 [2.46.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.7...v2.46.8 [2.46.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.6...v2.46.7 [2.46.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.5...v2.46.6 [2.46.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.4...v2.46.5 [2.46.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.3...v2.46.4 [2.46.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.2...v2.46.3 [2.46.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.1...v2.46.2 [2.46.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.46.0...v2.46.1 [2.46.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.15...v2.46.0 [2.45.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.14...v2.45.15 [2.45.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.13...v2.45.14 [2.45.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.12...v2.45.13 [2.45.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.11...v2.45.12 [2.45.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.10...v2.45.11 [2.45.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.9...v2.45.10 [2.45.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.8...v2.45.9 [2.45.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.7...v2.45.8 [2.45.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.6...v2.45.7 [2.45.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.5...v2.45.6 [2.45.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.4...v2.45.5 [2.45.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.3...v2.45.4 [2.45.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.2...v2.45.3 [2.45.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.1...v2.45.2 [2.45.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.45.0...v2.45.1 [2.45.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.72...v2.45.0 [2.44.72]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.71...v2.44.72 [2.44.71]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.70...v2.44.71 [2.44.70]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.69...v2.44.70 [2.44.69]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.68...v2.44.69 [2.44.68]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.67...v2.44.68 [2.44.67]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.66...v2.44.67 [2.44.66]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.65...v2.44.66 [2.44.65]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.64...v2.44.65 [2.44.64]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.63...v2.44.64 [2.44.63]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.62...v2.44.63 [2.44.62]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.61...v2.44.62 [2.44.61]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.60...v2.44.61 [2.44.60]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.59...v2.44.60 [2.44.59]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.58...v2.44.59 [2.44.58]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.57...v2.44.58 [2.44.57]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.56...v2.44.57 [2.44.56]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.55...v2.44.56 [2.44.55]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.54...v2.44.55 [2.44.54]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.53...v2.44.54 [2.44.53]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.52...v2.44.53 [2.44.52]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.51...v2.44.52 [2.44.51]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.50...v2.44.51 [2.44.50]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.49...v2.44.50 [2.44.49]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.48...v2.44.49 [2.44.48]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.47...v2.44.48 [2.44.47]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.46...v2.44.47 [2.44.46]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.45...v2.44.46 [2.44.45]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.44...v2.44.45 [2.44.44]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.43...v2.44.44 [2.44.43]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.42...v2.44.43 [2.44.42]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.41...v2.44.42 [2.44.41]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.40...v2.44.41 [2.44.40]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.39...v2.44.40 [2.44.39]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.38...v2.44.39 [2.44.38]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.37...v2.44.38 [2.44.37]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.36...v2.44.37 [2.44.36]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.35...v2.44.36 [2.44.35]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.34...v2.44.35 [2.44.34]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.33...v2.44.34 [2.44.33]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.32...v2.44.33 [2.44.32]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.31...v2.44.32 [2.44.31]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.30...v2.44.31 [2.44.30]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.29...v2.44.30 [2.44.29]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.28...v2.44.29 [2.44.28]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.27...v2.44.28 [2.44.27]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.26...v2.44.27 [2.44.26]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.25...v2.44.26 [2.44.25]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.24...v2.44.25 [2.44.24]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.23...v2.44.24 [2.44.23]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.22...v2.44.23 [2.44.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.21...v2.44.22 [2.44.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.20...v2.44.21 [2.44.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.19...v2.44.20 [2.44.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.18...v2.44.19 [2.44.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.17...v2.44.18 [2.44.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.16...v2.44.17 [2.44.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.15...v2.44.16 [2.44.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.14...v2.44.15 [2.44.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.13...v2.44.14 [2.44.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.12...v2.44.13 [2.44.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.11...v2.44.12 [2.44.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.10...v2.44.11 [2.44.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.9...v2.44.10 [2.44.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.8...v2.44.9 [2.44.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.7...v2.44.8 [2.44.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.6...v2.44.7 [2.44.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.5...v2.44.6 [2.44.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.4...v2.44.5 [2.44.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.3...v2.44.4 [2.44.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.2...v2.44.3 [2.44.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.1...v2.44.2 [2.44.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.44.0...v2.44.1 [2.44.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.43.7...v2.44.0 [2.43.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.43.6...v2.43.7 [2.43.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.43.5...v2.43.6 [2.43.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.43.4...v2.43.5 [2.43.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.43.3...v2.43.4 [2.43.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.43.2...v2.43.3 [2.43.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.43.1...v2.43.2 [2.43.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.43.0...v2.43.1 [2.43.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.42...v2.43.0 [2.42.42]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.41...v2.42.42 [2.42.41]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.40...v2.42.41 [2.42.40]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.39...v2.42.40 [2.42.39]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.38...v2.42.39 [2.42.38]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.37...v2.42.38 [2.42.37]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.36...v2.42.37 [2.42.36]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.35...v2.42.36 [2.42.35]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.34...v2.42.35 [2.42.34]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.33...v2.42.34 [2.42.33]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.32...v2.42.33 [2.42.32]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.31...v2.42.32 [2.42.31]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.30...v2.42.31 [2.42.30]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.29...v2.42.30 [2.42.29]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.28...v2.42.29 [2.42.28]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.27...v2.42.28 [2.42.27]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.26...v2.42.27 [2.42.26]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.25...v2.42.26 [2.42.25]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.24...v2.42.25 [2.42.24]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.23...v2.42.24 [2.42.23]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.22...v2.42.23 [2.42.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.21...v2.42.22 [2.42.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.20...v2.42.21 [2.42.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.19...v2.42.20 [2.42.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.18...v2.42.19 [2.42.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.17...v2.42.18 [2.42.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.16...v2.42.17 [2.42.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.15...v2.42.16 [2.42.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.14...v2.42.15 [2.42.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.13...v2.42.14 [2.42.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.12...v2.42.13 [2.42.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.11...v2.42.12 [2.42.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.10...v2.42.11 [2.42.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.9...v2.42.10 [2.42.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.8...v2.42.9 [2.42.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.7...v2.42.8 [2.42.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.6...v2.42.7 [2.42.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.5...v2.42.6 [2.42.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.4...v2.42.5 [2.42.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.3...v2.42.4 [2.42.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.2...v2.42.3 [2.42.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.1...v2.42.2 [2.42.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.42.0...v2.42.1 [2.42.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.18...v2.42.0 [2.41.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.17...v2.41.18 [2.41.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.16...v2.41.17 [2.41.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.15...v2.41.16 [2.41.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.14...v2.41.15 [2.41.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.13...v2.41.14 [2.41.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.12...v2.41.13 [2.41.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.11...v2.41.12 [2.41.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.10...v2.41.11 [2.41.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.9...v2.41.10 [2.41.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.8...v2.41.9 [2.41.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.7...v2.41.8 [2.41.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.6...v2.41.7 [2.41.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.5...v2.41.6 [2.41.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.4...v2.41.5 [2.41.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.3...v2.41.4 [2.41.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.2...v2.41.3 [2.41.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.1...v2.41.2 [2.41.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.41.0...v2.41.1 [2.41.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.40.2...v2.41.0 [2.40.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.40.1...v2.40.2 [2.40.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.40.0...v2.40.1 [2.40.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.39.2...v2.40.0 [2.39.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.39.1...v2.39.2 [2.39.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.39.0...v2.39.1 [2.39.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.38.7...v2.39.0 [2.38.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.38.6...v2.38.7 [2.38.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.38.5...v2.38.6 [2.38.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.38.4...v2.38.5 [2.38.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.38.3...v2.38.4 [2.38.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.38.2...v2.38.3 [2.38.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.38.1...v2.38.2 [2.38.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.38.0...v2.38.1 [2.38.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.37.0...v2.38.0 [2.37.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.36.0...v2.37.0 [2.36.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.35.0...v2.36.0 [2.35.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.34.3...v2.35.0 [2.34.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.34.2...v2.34.3 [2.34.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.34.1...v2.34.2 [2.34.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.34.0...v2.34.1 [2.34.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.36...v2.34.0 [2.33.36]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.35...v2.33.36 [2.33.35]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.34...v2.33.35 [2.33.34]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.33...v2.33.34 [2.33.33]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.32...v2.33.33 [2.33.32]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.31...v2.33.32 [2.33.31]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.30...v2.33.31 [2.33.30]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.29...v2.33.30 [2.33.29]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.28...v2.33.29 [2.33.28]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.27...v2.33.28 [2.33.27]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.26...v2.33.27 [2.33.26]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.25...v2.33.26 [2.33.25]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.24...v2.33.25 [2.33.24]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.23...v2.33.24 [2.33.23]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.22...v2.33.23 [2.33.22]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.21...v2.33.22 [2.33.21]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.20...v2.33.21 [2.33.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.19...v2.33.20 [2.33.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.18...v2.33.19 [2.33.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.17...v2.33.18 [2.33.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.16...v2.33.17 [2.33.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.15...v2.33.16 [2.33.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.14...v2.33.15 [2.33.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.13...v2.33.14 [2.33.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.12...v2.33.13 [2.33.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.11...v2.33.12 [2.33.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.10...v2.33.11 [2.33.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.9...v2.33.10 [2.33.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.8...v2.33.9 [2.33.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.7...v2.33.8 [2.33.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.6...v2.33.7 [2.33.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.5...v2.33.6 [2.33.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.4...v2.33.5 [2.33.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.3...v2.33.4 [2.33.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.2...v2.33.3 [2.33.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.1...v2.33.2 [2.33.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.33.0...v2.33.1 [2.33.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.20...v2.33.0 [2.32.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.19...v2.32.20 [2.32.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.18...v2.32.19 [2.32.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.17...v2.32.18 [2.32.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.16...v2.32.17 [2.32.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.15...v2.32.16 [2.32.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.14...v2.32.15 [2.32.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.13...v2.32.14 [2.32.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.12...v2.32.13 [2.32.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.11...v2.32.12 [2.32.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.10...v2.32.11 [2.32.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.9...v2.32.10 [2.32.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.8...v2.32.9 [2.32.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.7...v2.32.8 [2.32.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.6...v2.32.7 [2.32.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.5...v2.32.6 [2.32.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.4...v2.32.5 [2.32.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.3...v2.32.4 [2.32.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.2...v2.32.3 [2.32.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.1...v2.32.2 [2.32.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.32.0...v2.32.1 [2.32.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.31.3...v2.32.0 [2.31.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.31.2...v2.31.3 [2.31.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.31.1...v2.31.2 [2.31.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.31.0...v2.31.1 [2.31.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.30.0...v2.31.0 [2.30.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.8...v2.30.0 [2.29.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.7...v2.29.8 [2.29.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.6...v2.29.7 [2.29.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.5...v2.29.6 [2.29.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.4...v2.29.5 [2.29.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.3...v2.29.4 [2.29.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.2...v2.29.3 [2.29.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.1...v2.29.2 [2.29.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.29.0...v2.29.1 [2.29.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.16...v2.29.0 [2.28.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.15...v2.28.16 [2.28.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.14...v2.28.15 [2.28.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.13...v2.28.14 [2.28.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.12...v2.28.13 [2.28.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.11...v2.28.12 [2.28.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.10...v2.28.11 [2.28.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.9...v2.28.10 [2.28.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.8...v2.28.9 [2.28.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.7...v2.28.8 [2.28.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.6...v2.28.7 [2.28.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.5...v2.28.6 [2.28.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.4...v2.28.5 [2.28.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.3...v2.28.4 [2.28.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.2...v2.28.3 [2.28.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.1...v2.28.2 [2.28.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.28.0...v2.28.1 [2.28.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.15...v2.28.0 [2.27.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.14...v2.27.15 [2.27.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.13...v2.27.14 [2.27.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.12...v2.27.13 [2.27.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.11...v2.27.12 [2.27.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.10...v2.27.11 [2.27.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.9...v2.27.10 [2.27.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.8...v2.27.9 [2.27.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.7...v2.27.8 [2.27.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.6...v2.27.7 [2.27.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.5...v2.27.6 [2.27.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.4...v2.27.5 [2.27.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.3...v2.27.4 [2.27.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.2...v2.27.3 [2.27.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.1...v2.27.2 [2.27.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.27.0...v2.27.1 [2.27.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.20...v2.27.0 [2.26.20]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.19...v2.26.20 [2.26.19]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.18...v2.26.19 [2.26.18]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.17...v2.26.18 [2.26.17]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.16...v2.26.17 [2.26.16]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.15...v2.26.16 [2.26.15]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.14...v2.26.15 [2.26.14]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.13...v2.26.14 [2.26.13]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.12...v2.26.13 [2.26.12]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.11...v2.26.12 [2.26.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.10...v2.26.11 [2.26.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.9...v2.26.10 [2.26.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.8...v2.26.9 [2.26.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.7...v2.26.8 [2.26.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.6...v2.26.7 [2.26.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.5...v2.26.6 [2.26.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.4...v2.26.5 [2.26.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.3...v2.26.4 [2.26.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.2...v2.26.3 [2.26.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.1...v2.26.2 [2.26.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.26.0...v2.26.1 [2.26.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.11...v2.26.0 [2.25.11]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.10...v2.25.11 [2.25.10]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.9...v2.25.10 [2.25.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.8...v2.25.9 [2.25.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.7...v2.25.8 [2.25.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.6...v2.25.7 [2.25.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.5...v2.25.6 [2.25.5]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.4...v2.25.5 [2.25.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.3...v2.25.4 [2.25.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.2...v2.25.3 [2.25.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.1...v2.25.2 [2.25.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.25.0...v2.25.1 [2.25.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.24.4...v2.25.0 [2.24.4]: https://redirect.github.com/taiki-e/install-action/compare/v2.24.3...v2.24.4 [2.24.3]: https://redirect.github.com/taiki-e/install-action/compare/v2.24.2...v2.24.3 [2.24.2]: https://redirect.github.com/taiki-e/install-action/compare/v2.24.1...v2.24.2 [2.24.1]: https://redirect.github.com/taiki-e/install-action/compare/v2.24.0...v2.24.1 [2.24.0]: https://redirect.github.com/taiki-e/install-action/compare/v2.23.9...v2.24.0 [2.23.9]: https://redirect.github.com/taiki-e/install-action/compare/v2.23.8...v2.23.9 [2.23.8]: https://redirect.github.com/taiki-e/install-action/compare/v2.23.7...v2.23.8 [2.23.7]: https://redirect.github.com/taiki-e/install-action/compare/v2.23.6...v2.23.7 [2.23.6]: https://redirect.github.com/taiki-e/install-action/compare/v2.23.5...v2.23.6 [2.23.5]: https://redirect.github.com/t </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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
0d2cd84df4
|
Fix analyze graph tests on windows (#21481)
Some checks are pending
CI / test scripts (push) Blocked by required conditions
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
|
||
|
|
665f68036c
|
analyze: Add option to skip over imports in TYPE_CHECKING blocks (#21472)
Co-authored-by: Micha Reiser <micha@reiser.io> |
||
|
|
f5fb5c388a
|
[ty] Dataclasses: __hash__ semantics and unsafe_hash (#21470)
Some checks are pending
CI / test scripts (push) Blocked by required conditions
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / pre-commit (push) Waiting to run
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
## Summary Implement the semantics of `__hash__` for dataclasses and add support for `unsafe_hash` ## Test Plan New Markdown tests. |
||
|
|
dbd72480a9
|
[ty] Dataclass transform: complete set of parameters (#21474)
## Summary
We previously only allowed models to overwrite the
`{eq,order,kw_only,frozen}_defaults` of the dataclass-transformer, but
all other standard-dataclass parameters should be equally supported with
the same behavior.
## Test Plan
Added regression tests.
|
||
|
|
75c1a0ae55
|
[ty] Provide proper error on dangling revealed (#21416)
Co-authored-by: Micha Reiser <micha@reiser.io> |
||
|
|
7a546809c4
|
[refurb] Fix FURB103 autofix (#21454)
|
||
|
|
3065f8dbbc
|
[ty] Improve diagnostics for invalid exceptions (#21475)
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
## Summary
Not a high-priority task... but it _is_ a weekend :P
This PR improves our diagnostics for invalid exceptions. Specifically:
- We now give a special-cased ``help: Did you mean
`NotImplementedError`` subdiagnostic for `except NotImplemented`, `raise
NotImplemented` and `raise <EXCEPTION> from NotImplemented`
- If the user catches a tuple of exceptions (`except (foo, bar, baz):`)
and multiple elements in the tuple are invalid, we now collect these
into a single diagnostic rather than emitting a separate diagnostic for
each tuple element
- The explanation of why the `except`/`raise` was invalid ("must be a
`BaseException` instance or `BaseException` subclass", etc.) is
relegated to a subdiagnostic. This makes the top-level diagnostic
summary much more concise.
## Test Plan
Lots of snapshots. And here's some screenshots:
<details>
<summary>Screenshots</summary>
<img width="1770" height="1520" alt="image"
src="https://github.com/user-attachments/assets/7f27fd61-c74d-4ddf-ad97-ea4fd24d06fd"
/>
<img width="1916" height="1392" alt="image"
src="https://github.com/user-attachments/assets/83e5027c-8798-48a6-a0ec-1babfc134000"
/>
<img width="1696" height="588" alt="image"
src="https://github.com/user-attachments/assets/1bc16048-6eb4-4dfa-9ace-dd271074530f"
/>
</details>
|
||
|
|
fb5b8c3653
|
Fix default test executable in py-fuzzer (#21468)
Some checks are pending
CI / test scripts (push) Blocked by required conditions
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / pre-commit (push) Waiting to run
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
Summary -- I was firing up the fuzzer tonight and hit an assertion error here. We now build with the `profiling` profile, so we need to use that executable too. This hasn't affected CI because we always set the `--test-executable`. Test Plan -- Ran the script again with the same arguments on this branch |
||
|
|
efa2b5167f
|
[ty] Sync vendored typeshed stubs (#21466)
Co-authored-by: typeshedbot <> Co-authored-by: Alex Waygood <alex.waygood@gmail.com> |
||
|
|
29acc1e860
|
[ty] Support class-arguments for dataclass transformers (#21457)
## Summary
Allow metaclass-based and baseclass-based dataclass-transformers to
overwrite the default behavior using class arguments:
```py
class Person(Model, order=True):
# ...
```
## Conformance tests
Four new tests passing!
## Test Plan
New Markdown tests
|
||
|
|
698231a47a
|
[ty] Implement constraint implication for compound types (#21366)
Some checks are pending
CI / cargo test (${{ github.repository == 'astral-sh/ruff' && 'depot-windows-2022-16' || 'windows-latest' }}) (push) Blocked by required conditions
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (macos-latest) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / ty completion evaluation (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks instrumented (ruff) (push) Blocked by required conditions
CI / benchmarks instrumented (ty) (push) Blocked by required conditions
CI / benchmarks walltime (medium|multithreaded) (push) Blocked by required conditions
CI / benchmarks walltime (small|large) (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
This PR updates the constraint implication type relationship to work on compound types as well. (A compound type is a non-atomic type, like `list[T]`.) The goal of constraint implication is to check whether the requirements of a constraint imply that a particular subtyping relationship holds. Before, we were only checking atomic typevars. That would let us verify that the constraint set `T ≤ bool` implies that `T` is always a subtype of `int`. (In this case, the lhs of the subtyping check, `T`, is an atomic typevar.) But we weren't recursing into compound types, to look for nested occurrences of typevars. That means that we weren't able to see that `T ≤ bool` implies that `Covariant[T]` is always a subtype of `Covariant[int]`. Doing this recursion means that we have to carry the constraint set along with us as we recurse into types as part of `has_relation_to`, by adding constraint implication as a new `TypeRelation` variant. (Before it was just a method on `ConstraintSet`.) --------- Co-authored-by: David Peter <sharkdp@users.noreply.github.com> |
||
|
|
d63b4b0383
|
[ty] Improve diagnostic range for non-subscriptable diagnostics (#21461)
## Summary Currently our diagnostic only covers the range of the thing being subscripted: <img width="1702" height="312" alt="image" src="https://github.com/user-attachments/assets/7e630431-e846-46ca-93c1-139f11aaba11" /> But it should probably cover the _whole_ subscript expression (arguably the more "incorrect" bit is the `["foo"]` part of this expression, not the `x` part of this expression!) ## Test Plan Added a snapshot Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com> |
||
|
|
c5d654bce8
|
[ty] Improve literal promotion heuristics (#21439)
## Summary Extends literal promotion to apply to any generic method, as opposed to only generic class constructors. This PR also improves our literal promotion heuristics to only promote literals in non-covariant position in the return type, and avoid promotion if the literal is present in non-covariant position in any argument type. Resolves https://github.com/astral-sh/ty/issues/1357. |
||
|
|
3e7e91724c
|
[ty] Further improve details around which expressions should be deferred in stub files (#21456)
## Summary - Always restore the previous `deferred_state` after parsing a type expression: we don't want that state leaking out into other contexts where we shouldn't be deferring expression inference - Always defer the right-hand-side of a PEP-613 type alias in a stub file, allowing for forward references on the right-hand side of `T: TypeAlias = X | Y` in a stub file Addresses @carljm's review in https://github.com/astral-sh/ruff/pull/21401#discussion_r2524260153 ## Test Plan I added a regression test for a regression that the first version of this PR introduced (we need to make sure the r.h.s. of a PEP-613 `TypeAlias`es is always deferred in a stub file) |
||
|
|
2a2b719f00
|
[ty] Improve generic class constructor inference (#21442)
## Summary We currently fail to account for the type context when inferring generic classes constructed with `__new__`, or synthesized `__init__` for dataclasses. |
||
|
|
ffb7bdd595
|
[ty] Propagate type context through conditional expressions (#21443)
## Summary Resolves https://github.com/astral-sh/ty/issues/1543. |