ruff/crates
Shunsuke Shibayama bb44926ca5
[red-knot] Add rule `invalid-type-checking-constant` (#16501)
## Summary

This PR adds more features to #16468.

* Adds a new error rule `invalid-type-checking-constant`, which occurs
when we try to assign a value other than `False` to a user-defined
`TYPE_CHECKING` variable (it is possible to assign `...` in a stub
file).
* Allows annotated assignment to `TYPE_CHECKING`. Only types that
`False` can be assigned to are allowed. However, the type of
`TYPE_CHECKING` will be inferred to be `Literal[True]` regardless of
what the type is specified.

## Test plan

I ran the tests with `cargo test -p red_knot_python_semantic` and
confirmed that all tests passed.

---------

Co-authored-by: Carl Meyer <carl@astral.sh>
2025-03-04 19:49:34 +00:00
..
red_knot [red-knot] Add support for `knot check <paths>` (#16375) 2025-03-03 12:59:56 +00:00
red_knot_project [red-knot] Add support for `knot check <paths>` (#16375) 2025-03-03 12:59:56 +00:00
red_knot_python_semantic [red-knot] Add rule `invalid-type-checking-constant` (#16501) 2025-03-04 19:49:34 +00:00
red_knot_server add diagnostic `Span` (couples `File` and `TextRange`) (#16101) 2025-02-11 14:55:12 -05:00
red_knot_test [red-knot] Reject HTML comments in mdtest unless they are `snapshot-diagnostics` or are explicitly allowlisted (#16441) 2025-02-28 16:27:28 +00:00
red_knot_vendored Sync vendored typeshed stubs (#16448) 2025-03-01 08:21:03 +01:00
red_knot_wasm Use `ast::PythonVersion` internally in the formatter and linter (#16170) 2025-02-18 12:03:13 -05:00
ruff Formatter: Fix syntax error location in notebooks (#16499) 2025-03-04 18:00:31 +01:00
ruff_annotate_snippets Update pre-commit dependencies (#16465) 2025-03-03 13:10:46 +05:30
ruff_benchmark [red-knot] treat annotated assignments without RHS in stubs as bindings (#16409) 2025-02-28 16:45:21 +00:00
ruff_cache Fix cache key collisions for paths with separators (#12159) 2024-07-03 07:36:46 -05:00
ruff_db Document `LinterResult::has_syntax_error` and add `Parsed::has_no_syntax_errors` (#16443) 2025-03-04 08:35:38 -05:00
ruff_dev Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_diagnostics Show errors for attempted fixes only when passed `--verbose` (#15237) 2025-01-03 08:50:13 -06:00
ruff_formatter bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_graph Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_index [red-knot] Don't use separate ID types for each alist (#16415) 2025-02-28 14:55:55 -05:00
ruff_linter Document `LinterResult::has_syntax_error` and add `Parsed::has_no_syntax_errors` (#16443) 2025-03-04 08:35:38 -05:00
ruff_macros Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
ruff_notebook bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_ast bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_ast_integration_tests Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_codegen Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_formatter bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_index Extract `LineIndex` independent methods from `Locator` (#13938) 2024-10-28 07:53:41 +00:00
ruff_python_literal Preserve triple quotes and prefixes for strings (#15818) 2025-02-04 08:41:06 -05:00
ruff_python_parser [syntax-errors] `type` alias statements before Python 3.12 (#16478) 2025-03-04 17:20:10 +00:00
ruff_python_resolver bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_semantic bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_stdlib Revert "Add all PEP-585 names to UP006 rule" (#15250) 2025-01-04 12:23:53 +01:00
ruff_python_trivia [red-knot] Ignore surrounding whitespace when looking for `<!-- snapshot-diagnostics -->` directives in mdtests (#16380) 2025-02-27 13:25:31 +00:00
ruff_python_trivia_integration_tests Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_server Escape template filenames in glob patterns (#16407) 2025-03-03 09:29:58 -05:00
ruff_source_file [`pyupgrade`] Do not report when a UTF-8 comment is followed by a non-UTF-8 one (`UP009`) (#14728) 2024-12-11 10:30:41 +00:00
ruff_text_size [`ruff`] `itertools.starmap(..., zip(...))` (`RUF058`) (#15483) 2025-01-16 15:18:12 +01:00
ruff_wasm Bump version to Ruff 0.9.9 (#16434) 2025-02-28 10:17:38 +01:00
ruff_workspace Escape template filenames in glob patterns (#16407) 2025-03-03 09:29:58 -05:00