ruff/crates/ruff_python_ast/src
Brent Westbrook e4f5fe8cf7
[syntax-errors] Duplicate type parameter names (#16858)
Summary
--

Detects duplicate type parameter names in function definitions, class
definitions, and type alias statements.

I also boxed the `type_params` field on `StmtTypeAlias` to make it
easier to
`match` with functions and classes. (That's the reason for the red-knot
code
owner review requests, sorry!)

Test Plan
--

New `ruff_python_syntax_errors` unit tests.

Fixes #11119.
2025-03-21 15:06:22 -04:00
..
visitor Auto-generate AST boilerplate (#15544) 2025-01-17 14:23:02 -05:00
comparable.rs Respect hash-equivalent literals in `iteration-over-set` (#14063) 2024-11-03 18:44:52 +00:00
docstrings.rs Move Python whitespace utilities into new `ruff_python_whitespace` crate (#4993) 2023-06-10 00:59:57 +00:00
expression.rs Remove customizable reference enum names (#15647) 2025-01-21 13:46:31 -05:00
generated.rs [syntax-errors] Duplicate type parameter names (#16858) 2025-03-21 15:06:22 -04:00
helpers.rs [syntax-errors] Duplicate type parameter names (#16858) 2025-03-21 15:06:22 -04:00
identifier.rs Update to Rust 1.74 and use new clippy lints table (#8722) 2023-11-16 18:12:46 -05:00
int.rs [`ruff`] Unnecessary cast to `int` (`RUF046`) (#14697) 2024-12-05 10:30:06 +01:00
lib.rs Use `ast::PythonVersion` internally in the formatter and linter (#16170) 2025-02-18 12:03:13 -05:00
name.rs Auto generate ast expression nodes (#16285) 2025-03-05 08:25:55 -05:00
node.rs Remove `AstNode` and `AnyNode` (#15479) 2025-01-17 17:11:00 -05:00
nodes.rs [red-knot] Auto generate statement nodes (#16645) 2025-03-13 15:43:48 +01:00
operator_precedence.rs Use the common `OperatorPrecedence` for the parser (#16747) 2025-03-21 09:40:37 +05:30
parenthesize.rs Remove customizable reference enum names (#15647) 2025-01-21 13:46:31 -05:00
python_version.rs Use `ast::PythonVersion` internally in the formatter and linter (#16170) 2025-02-18 12:03:13 -05:00
relocate.rs Auto generate ast expression nodes (#16285) 2025-03-05 08:25:55 -05:00
script.rs bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
statement_visitor.rs Remove `Stmt::TryStar` (#6566) 2023-08-14 13:39:44 -04:00
stmt_if.rs Misc. small tweaks from perusing modules (#9383) 2024-01-03 12:30:25 -05:00
str.rs Preserve triple quotes and prefixes for strings (#15818) 2025-02-04 08:41:06 -05:00
str_prefix.rs Add `text_len()` methods to more `*Prefix` enums in `ruff_python_ast` (#16254) 2025-02-19 14:47:07 +00:00
traversal.rs Use referencial equality in `traversal` helper methods (#13895) 2024-10-24 11:30:22 +02:00
types.rs Remove `RefEquality` (#6393) 2023-08-07 16:04:50 +00:00
visitor.rs Simplify iteration idioms (#13834) 2024-10-20 22:25:27 +01:00
whitespace.rs Extract `LineIndex` independent methods from `Locator` (#13938) 2024-10-28 07:53:41 +00:00