diff --git a/crates/ruff_linter/resources/test/fixtures/ruff/RUF025.py b/crates/ruff_linter/resources/test/fixtures/ruff/RUF037.py similarity index 61% rename from crates/ruff_linter/resources/test/fixtures/ruff/RUF025.py rename to crates/ruff_linter/resources/test/fixtures/ruff/RUF037.py index aecb3d0b4c..949f30691f 100644 --- a/crates/ruff_linter/resources/test/fixtures/ruff/RUF025.py +++ b/crates/ruff_linter/resources/test/fixtures/ruff/RUF037.py @@ -3,31 +3,31 @@ import collections def f(): - queue = collections.deque([]) # RUF025 + queue = collections.deque([]) # RUF037 def f(): - queue = collections.deque([], maxlen=10) # RUF025 + queue = collections.deque([], maxlen=10) # RUF037 def f(): - queue = deque([]) # RUF025 + queue = deque([]) # RUF037 def f(): - queue = deque(()) # RUF025 + queue = deque(()) # RUF037 def f(): - queue = deque({}) # RUF025 + queue = deque({}) # RUF037 def f(): - queue = deque(set()) # RUF025 + queue = deque(set()) # RUF037 def f(): - queue = collections.deque([], maxlen=10) # RUF025 + queue = collections.deque([], maxlen=10) # RUF037 def f(): diff --git a/crates/ruff_linter/src/codes.rs b/crates/ruff_linter/src/codes.rs index b0d2efb9a9..d1ab7466b2 100644 --- a/crates/ruff_linter/src/codes.rs +++ b/crates/ruff_linter/src/codes.rs @@ -972,7 +972,6 @@ pub fn code_to_rule(linter: Linter, code: &str) -> Option<(RuleGroup, Rule)> { (Ruff, "022") => (RuleGroup::Stable, rules::ruff::rules::UnsortedDunderAll), (Ruff, "023") => (RuleGroup::Stable, rules::ruff::rules::UnsortedDunderSlots), (Ruff, "024") => (RuleGroup::Stable, rules::ruff::rules::MutableFromkeysValue), - (Ruff, "025") => (RuleGroup::Preview, rules::ruff::rules::UnnecessaryEmptyIterableWithinDequeCall), (Ruff, "026") => (RuleGroup::Stable, rules::ruff::rules::DefaultFactoryKwarg), (Ruff, "027") => (RuleGroup::Preview, rules::ruff::rules::MissingFStringSyntax), (Ruff, "028") => (RuleGroup::Preview, rules::ruff::rules::InvalidFormatterSuppressionComment), @@ -984,6 +983,7 @@ pub fn code_to_rule(linter: Linter, code: &str) -> Option<(RuleGroup, Rule)> { (Ruff, "034") => (RuleGroup::Preview, rules::ruff::rules::UselessIfElse), (Ruff, "035") => (RuleGroup::Preview, rules::ruff::rules::UnsafeMarkupUse), (Ruff, "036") => (RuleGroup::Preview, rules::ruff::rules::NoneNotAtEndOfUnion), + (Ruff, "037") => (RuleGroup::Preview, rules::ruff::rules::UnnecessaryEmptyIterableWithinDequeCall), (Ruff, "038") => (RuleGroup::Preview, rules::ruff::rules::RedundantBoolLiteral), (Ruff, "039") => (RuleGroup::Preview, rules::ruff::rules::UnrawRePattern), (Ruff, "040") => (RuleGroup::Preview, rules::ruff::rules::InvalidAssertMessageLiteralArgument), diff --git a/crates/ruff_linter/src/rules/ruff/mod.rs b/crates/ruff_linter/src/rules/ruff/mod.rs index e78c31f065..4c7e0a9621 100644 --- a/crates/ruff_linter/src/rules/ruff/mod.rs +++ b/crates/ruff_linter/src/rules/ruff/mod.rs @@ -51,7 +51,7 @@ mod tests { #[test_case(Rule::UnsortedDunderAll, Path::new("RUF022.py"))] #[test_case(Rule::UnsortedDunderSlots, Path::new("RUF023.py"))] #[test_case(Rule::MutableFromkeysValue, Path::new("RUF024.py"))] - #[test_case(Rule::UnnecessaryEmptyIterableWithinDequeCall, Path::new("RUF025.py"))] + #[test_case(Rule::UnnecessaryEmptyIterableWithinDequeCall, Path::new("RUF037.py"))] #[test_case(Rule::DefaultFactoryKwarg, Path::new("RUF026.py"))] #[test_case(Rule::MissingFStringSyntax, Path::new("RUF027_0.py"))] #[test_case(Rule::MissingFStringSyntax, Path::new("RUF027_1.py"))] diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_literal_within_deque_call.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_literal_within_deque_call.rs index 85598b3714..c28ca3c836 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_literal_within_deque_call.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_literal_within_deque_call.rs @@ -51,7 +51,7 @@ impl AlwaysFixableViolation for UnnecessaryEmptyIterableWithinDequeCall { } } -/// RUF025 +/// RUF037 pub(crate) fn unnecessary_literal_within_deque_call(checker: &mut Checker, deque: &ast::ExprCall) { let ast::ExprCall { func, arguments, .. diff --git a/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__RUF025_RUF025.py.snap b/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__RUF025_RUF025.py.snap deleted file mode 100644 index a4dc28c0b1..0000000000 --- a/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__RUF025_RUF025.py.snap +++ /dev/null @@ -1,129 +0,0 @@ ---- -source: crates/ruff_linter/src/rules/ruff/mod.rs -snapshot_kind: text ---- -RUF025.py:6:13: RUF025 [*] Unnecessary empty iterable within a deque call - | -5 | def f(): -6 | queue = collections.deque([]) # RUF025 - | ^^^^^^^^^^^^^^^^^^^^^ RUF025 - | - = help: Replace with `deque()` - -ℹ Safe fix -3 3 | -4 4 | -5 5 | def f(): -6 |- queue = collections.deque([]) # RUF025 - 6 |+ queue = collections.deque() # RUF025 -7 7 | -8 8 | -9 9 | def f(): - -RUF025.py:10:13: RUF025 [*] Unnecessary empty iterable within a deque call - | - 9 | def f(): -10 | queue = collections.deque([], maxlen=10) # RUF025 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RUF025 - | - = help: Replace with `deque(maxlen=...)` - -ℹ Safe fix -7 7 | -8 8 | -9 9 | def f(): -10 |- queue = collections.deque([], maxlen=10) # RUF025 - 10 |+ queue = collections.deque(maxlen=10) # RUF025 -11 11 | -12 12 | -13 13 | def f(): - -RUF025.py:14:13: RUF025 [*] Unnecessary empty iterable within a deque call - | -13 | def f(): -14 | queue = deque([]) # RUF025 - | ^^^^^^^^^ RUF025 - | - = help: Replace with `deque()` - -ℹ Safe fix -11 11 | -12 12 | -13 13 | def f(): -14 |- queue = deque([]) # RUF025 - 14 |+ queue = deque() # RUF025 -15 15 | -16 16 | -17 17 | def f(): - -RUF025.py:18:13: RUF025 [*] Unnecessary empty iterable within a deque call - | -17 | def f(): -18 | queue = deque(()) # RUF025 - | ^^^^^^^^^ RUF025 - | - = help: Replace with `deque()` - -ℹ Safe fix -15 15 | -16 16 | -17 17 | def f(): -18 |- queue = deque(()) # RUF025 - 18 |+ queue = deque() # RUF025 -19 19 | -20 20 | -21 21 | def f(): - -RUF025.py:22:13: RUF025 [*] Unnecessary empty iterable within a deque call - | -21 | def f(): -22 | queue = deque({}) # RUF025 - | ^^^^^^^^^ RUF025 - | - = help: Replace with `deque()` - -ℹ Safe fix -19 19 | -20 20 | -21 21 | def f(): -22 |- queue = deque({}) # RUF025 - 22 |+ queue = deque() # RUF025 -23 23 | -24 24 | -25 25 | def f(): - -RUF025.py:26:13: RUF025 [*] Unnecessary empty iterable within a deque call - | -25 | def f(): -26 | queue = deque(set()) # RUF025 - | ^^^^^^^^^^^^ RUF025 - | - = help: Replace with `deque()` - -ℹ Safe fix -23 23 | -24 24 | -25 25 | def f(): -26 |- queue = deque(set()) # RUF025 - 26 |+ queue = deque() # RUF025 -27 27 | -28 28 | -29 29 | def f(): - -RUF025.py:30:13: RUF025 [*] Unnecessary empty iterable within a deque call - | -29 | def f(): -30 | queue = collections.deque([], maxlen=10) # RUF025 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RUF025 - | - = help: Replace with `deque(maxlen=...)` - -ℹ Safe fix -27 27 | -28 28 | -29 29 | def f(): -30 |- queue = collections.deque([], maxlen=10) # RUF025 - 30 |+ queue = collections.deque(maxlen=10) # RUF025 -31 31 | -32 32 | -33 33 | def f(): diff --git a/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__RUF037_RUF037.py.snap b/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__RUF037_RUF037.py.snap new file mode 100644 index 0000000000..288b5bded4 --- /dev/null +++ b/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__RUF037_RUF037.py.snap @@ -0,0 +1,129 @@ +--- +source: crates/ruff_linter/src/rules/ruff/mod.rs +snapshot_kind: text +--- +RUF037.py:6:13: RUF037 [*] Unnecessary empty iterable within a deque call + | +5 | def f(): +6 | queue = collections.deque([]) # RUF037 + | ^^^^^^^^^^^^^^^^^^^^^ RUF037 + | + = help: Replace with `deque()` + +ℹ Safe fix +3 3 | +4 4 | +5 5 | def f(): +6 |- queue = collections.deque([]) # RUF037 + 6 |+ queue = collections.deque() # RUF037 +7 7 | +8 8 | +9 9 | def f(): + +RUF037.py:10:13: RUF037 [*] Unnecessary empty iterable within a deque call + | + 9 | def f(): +10 | queue = collections.deque([], maxlen=10) # RUF037 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RUF037 + | + = help: Replace with `deque(maxlen=...)` + +ℹ Safe fix +7 7 | +8 8 | +9 9 | def f(): +10 |- queue = collections.deque([], maxlen=10) # RUF037 + 10 |+ queue = collections.deque(maxlen=10) # RUF037 +11 11 | +12 12 | +13 13 | def f(): + +RUF037.py:14:13: RUF037 [*] Unnecessary empty iterable within a deque call + | +13 | def f(): +14 | queue = deque([]) # RUF037 + | ^^^^^^^^^ RUF037 + | + = help: Replace with `deque()` + +ℹ Safe fix +11 11 | +12 12 | +13 13 | def f(): +14 |- queue = deque([]) # RUF037 + 14 |+ queue = deque() # RUF037 +15 15 | +16 16 | +17 17 | def f(): + +RUF037.py:18:13: RUF037 [*] Unnecessary empty iterable within a deque call + | +17 | def f(): +18 | queue = deque(()) # RUF037 + | ^^^^^^^^^ RUF037 + | + = help: Replace with `deque()` + +ℹ Safe fix +15 15 | +16 16 | +17 17 | def f(): +18 |- queue = deque(()) # RUF037 + 18 |+ queue = deque() # RUF037 +19 19 | +20 20 | +21 21 | def f(): + +RUF037.py:22:13: RUF037 [*] Unnecessary empty iterable within a deque call + | +21 | def f(): +22 | queue = deque({}) # RUF037 + | ^^^^^^^^^ RUF037 + | + = help: Replace with `deque()` + +ℹ Safe fix +19 19 | +20 20 | +21 21 | def f(): +22 |- queue = deque({}) # RUF037 + 22 |+ queue = deque() # RUF037 +23 23 | +24 24 | +25 25 | def f(): + +RUF037.py:26:13: RUF037 [*] Unnecessary empty iterable within a deque call + | +25 | def f(): +26 | queue = deque(set()) # RUF037 + | ^^^^^^^^^^^^ RUF037 + | + = help: Replace with `deque()` + +ℹ Safe fix +23 23 | +24 24 | +25 25 | def f(): +26 |- queue = deque(set()) # RUF037 + 26 |+ queue = deque() # RUF037 +27 27 | +28 28 | +29 29 | def f(): + +RUF037.py:30:13: RUF037 [*] Unnecessary empty iterable within a deque call + | +29 | def f(): +30 | queue = collections.deque([], maxlen=10) # RUF037 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RUF037 + | + = help: Replace with `deque(maxlen=...)` + +ℹ Safe fix +27 27 | +28 28 | +29 29 | def f(): +30 |- queue = collections.deque([], maxlen=10) # RUF037 + 30 |+ queue = collections.deque(maxlen=10) # RUF037 +31 31 | +32 32 | +33 33 | def f(): diff --git a/ruff.schema.json b/ruff.schema.json index b894dbb692..6cccea335d 100644 --- a/ruff.schema.json +++ b/ruff.schema.json @@ -3849,7 +3849,6 @@ "RUF022", "RUF023", "RUF024", - "RUF025", "RUF026", "RUF027", "RUF028", @@ -3862,6 +3861,7 @@ "RUF034", "RUF035", "RUF036", + "RUF037", "RUF038", "RUF039", "RUF04",