Compare commits
7 Commits
0.11.9
...
SIM300-CON
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
75564e8a4c | ||
|
|
0a0b0420ed | ||
|
|
6e3d5a78fd | ||
|
|
3f36780904 | ||
|
|
7879f9e921 | ||
|
|
935b77ec80 | ||
|
|
760ff26c06 |
@@ -1,6 +1,5 @@
|
|||||||
# Errors
|
# Errors
|
||||||
"yoda" == compare # SIM300
|
"yoda" == compare # SIM300
|
||||||
"yoda" == compare # SIM300
|
|
||||||
42 == age # SIM300
|
42 == age # SIM300
|
||||||
("a", "b") == compare # SIM300
|
("a", "b") == compare # SIM300
|
||||||
"yoda" <= compare # SIM300
|
"yoda" <= compare # SIM300
|
||||||
@@ -13,10 +12,17 @@ YODA > age # SIM300
|
|||||||
YODA >= age # SIM300
|
YODA >= age # SIM300
|
||||||
JediOrder.YODA == age # SIM300
|
JediOrder.YODA == age # SIM300
|
||||||
0 < (number - 100) # SIM300
|
0 < (number - 100) # SIM300
|
||||||
SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
|
||||||
B<A[0][0]or B
|
B<A[0][0]or B
|
||||||
B or(B)<A[0][0]
|
B or(B)<A[0][0]
|
||||||
|
|
||||||
|
# Errors in preview
|
||||||
|
['upper'] == UPPER_LIST
|
||||||
|
{} == DummyHandler.CONFIG
|
||||||
|
|
||||||
|
# Errors in stable
|
||||||
|
UPPER_LIST == ['upper']
|
||||||
|
DummyHandler.CONFIG == {}
|
||||||
|
|
||||||
# OK
|
# OK
|
||||||
compare == "yoda"
|
compare == "yoda"
|
||||||
age == 42
|
age == 42
|
||||||
@@ -31,3 +37,6 @@ age <= YODA
|
|||||||
YODA == YODA
|
YODA == YODA
|
||||||
age == JediOrder.YODA
|
age == JediOrder.YODA
|
||||||
(number - 100) > 0
|
(number - 100) > 0
|
||||||
|
SECONDS_IN_DAY == 60 * 60 * 24 # Error in 0.1.8
|
||||||
|
SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # Error in 0.1.8
|
||||||
|
{"non-empty-dict": "is-ok"} == DummyHandler.CONFIG
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test_case(Rule::InDictKeys, Path::new("SIM118.py"))]
|
#[test_case(Rule::InDictKeys, Path::new("SIM118.py"))]
|
||||||
|
#[test_case(Rule::YodaConditions, Path::new("SIM300.py"))]
|
||||||
#[test_case(Rule::IfElseBlockInsteadOfDictGet, Path::new("SIM401.py"))]
|
#[test_case(Rule::IfElseBlockInsteadOfDictGet, Path::new("SIM401.py"))]
|
||||||
#[test_case(Rule::DictGetWithNoneDefault, Path::new("SIM910.py"))]
|
#[test_case(Rule::DictGetWithNoneDefault, Path::new("SIM910.py"))]
|
||||||
fn preview_rules(rule_code: Rule, path: &Path) -> Result<()> {
|
fn preview_rules(rule_code: Rule, path: &Path) -> Result<()> {
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
use std::cmp;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use libcst_native::CompOp;
|
use libcst_native::CompOp;
|
||||||
|
|
||||||
@@ -14,6 +16,7 @@ use crate::cst::helpers::or_space;
|
|||||||
use crate::cst::matchers::{match_comparison, transform_expression};
|
use crate::cst::matchers::{match_comparison, transform_expression};
|
||||||
use crate::fix::edits::pad;
|
use crate::fix::edits::pad;
|
||||||
use crate::fix::snippet::SourceCodeSnippet;
|
use crate::fix::snippet::SourceCodeSnippet;
|
||||||
|
use crate::settings::types::PreviewMode;
|
||||||
|
|
||||||
/// ## What it does
|
/// ## What it does
|
||||||
/// Checks for conditions that position a constant on the left-hand side of the
|
/// Checks for conditions that position a constant on the left-hand side of the
|
||||||
@@ -78,18 +81,65 @@ impl Violation for YodaConditions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Return `true` if an [`Expr`] is a constant or a constant-like name.
|
/// Comparisons left-hand side must not be more [`ConstantLikelihood`] than the right-hand side.
|
||||||
fn is_constant_like(expr: &Expr) -> bool {
|
#[derive(PartialEq, Eq, PartialOrd, Ord, Debug)]
|
||||||
match expr {
|
enum ConstantLikelihood {
|
||||||
Expr::Attribute(ast::ExprAttribute { attr, .. }) => str::is_cased_uppercase(attr),
|
/// The expression is unlikely to be a constant (e.g., `foo` or `foo(bar)`).
|
||||||
Expr::Tuple(ast::ExprTuple { elts, .. }) => elts.iter().all(is_constant_like),
|
Unlikely = 0,
|
||||||
Expr::Name(ast::ExprName { id, .. }) => str::is_cased_uppercase(id),
|
|
||||||
Expr::UnaryOp(ast::ExprUnaryOp {
|
/// The expression is likely to be a constant (e.g., `FOO`).
|
||||||
op: UnaryOp::UAdd | UnaryOp::USub | UnaryOp::Invert,
|
Probably = 1,
|
||||||
operand,
|
|
||||||
range: _,
|
/// The expression is definitely a constant (e.g., `42` or `"foo"`).
|
||||||
}) => operand.is_literal_expr(),
|
Definitely = 2,
|
||||||
_ => expr.is_literal_expr(),
|
}
|
||||||
|
|
||||||
|
impl ConstantLikelihood {
|
||||||
|
/// Determine the [`ConstantLikelihood`] of an expression.
|
||||||
|
fn from_expression(expr: &Expr, preview: PreviewMode) -> Self {
|
||||||
|
match expr {
|
||||||
|
_ if expr.is_literal_expr() => ConstantLikelihood::Definitely,
|
||||||
|
Expr::Attribute(ast::ExprAttribute { attr, .. }) => {
|
||||||
|
ConstantLikelihood::from_identifier(attr)
|
||||||
|
}
|
||||||
|
Expr::Name(ast::ExprName { id, .. }) => ConstantLikelihood::from_identifier(id),
|
||||||
|
Expr::Tuple(ast::ExprTuple { elts, .. }) => elts
|
||||||
|
.iter()
|
||||||
|
.map(|expr| ConstantLikelihood::from_expression(expr, preview))
|
||||||
|
.min()
|
||||||
|
.unwrap_or(ConstantLikelihood::Definitely),
|
||||||
|
Expr::List(ast::ExprList { elts, .. }) if preview.is_enabled() => elts
|
||||||
|
.iter()
|
||||||
|
.map(|expr| ConstantLikelihood::from_expression(expr, preview))
|
||||||
|
.min()
|
||||||
|
.unwrap_or(ConstantLikelihood::Definitely),
|
||||||
|
Expr::Dict(ast::ExprDict { values: vs, .. }) if preview.is_enabled() => {
|
||||||
|
if vs.is_empty() {
|
||||||
|
ConstantLikelihood::Definitely
|
||||||
|
} else {
|
||||||
|
ConstantLikelihood::Probably
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Expr::BinOp(ast::ExprBinOp { left, right, .. }) => cmp::min(
|
||||||
|
ConstantLikelihood::from_expression(left, preview),
|
||||||
|
ConstantLikelihood::from_expression(right, preview),
|
||||||
|
),
|
||||||
|
Expr::UnaryOp(ast::ExprUnaryOp {
|
||||||
|
op: UnaryOp::UAdd | UnaryOp::USub | UnaryOp::Invert,
|
||||||
|
operand,
|
||||||
|
range: _,
|
||||||
|
}) => ConstantLikelihood::from_expression(operand, preview),
|
||||||
|
_ => ConstantLikelihood::Unlikely,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Determine the [`ConstantLikelihood`] of an identifier.
|
||||||
|
fn from_identifier(identifier: &str) -> Self {
|
||||||
|
if str::is_cased_uppercase(identifier) {
|
||||||
|
ConstantLikelihood::Probably
|
||||||
|
} else {
|
||||||
|
ConstantLikelihood::Unlikely
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -180,7 +230,9 @@ pub(crate) fn yoda_conditions(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if !is_constant_like(left) || is_constant_like(right) {
|
if ConstantLikelihood::from_expression(left, checker.settings.preview)
|
||||||
|
<= ConstantLikelihood::from_expression(right, checker.settings.preview)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ SIM300.py:2:1: SIM300 [*] Yoda conditions are discouraged, use `compare == "yoda
|
|||||||
1 | # Errors
|
1 | # Errors
|
||||||
2 | "yoda" == compare # SIM300
|
2 | "yoda" == compare # SIM300
|
||||||
| ^^^^^^^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^^^^^^^ SIM300
|
||||||
3 | "yoda" == compare # SIM300
|
3 | 42 == age # SIM300
|
||||||
4 | 42 == age # SIM300
|
4 | ("a", "b") == compare # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `compare == "yoda"`
|
= help: Replace Yoda condition with `compare == "yoda"`
|
||||||
|
|
||||||
@@ -15,342 +15,340 @@ SIM300.py:2:1: SIM300 [*] Yoda conditions are discouraged, use `compare == "yoda
|
|||||||
1 1 | # Errors
|
1 1 | # Errors
|
||||||
2 |-"yoda" == compare # SIM300
|
2 |-"yoda" == compare # SIM300
|
||||||
2 |+compare == "yoda" # SIM300
|
2 |+compare == "yoda" # SIM300
|
||||||
3 3 | "yoda" == compare # SIM300
|
3 3 | 42 == age # SIM300
|
||||||
4 4 | 42 == age # SIM300
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
5 5 | ("a", "b") == compare # SIM300
|
5 5 | "yoda" <= compare # SIM300
|
||||||
|
|
||||||
SIM300.py:3:1: SIM300 [*] Yoda conditions are discouraged, use `compare == "yoda"` instead
|
SIM300.py:3:1: SIM300 [*] Yoda conditions are discouraged, use `age == 42` instead
|
||||||
|
|
|
|
||||||
1 | # Errors
|
1 | # Errors
|
||||||
2 | "yoda" == compare # SIM300
|
2 | "yoda" == compare # SIM300
|
||||||
3 | "yoda" == compare # SIM300
|
3 | 42 == age # SIM300
|
||||||
| ^^^^^^^^^^^^^^^^^ SIM300
|
|
||||||
4 | 42 == age # SIM300
|
|
||||||
5 | ("a", "b") == compare # SIM300
|
|
||||||
|
|
|
||||||
= help: Replace Yoda condition with `compare == "yoda"`
|
|
||||||
|
|
||||||
ℹ Safe fix
|
|
||||||
1 1 | # Errors
|
|
||||||
2 2 | "yoda" == compare # SIM300
|
|
||||||
3 |-"yoda" == compare # SIM300
|
|
||||||
3 |+compare == "yoda" # SIM300
|
|
||||||
4 4 | 42 == age # SIM300
|
|
||||||
5 5 | ("a", "b") == compare # SIM300
|
|
||||||
6 6 | "yoda" <= compare # SIM300
|
|
||||||
|
|
||||||
SIM300.py:4:1: SIM300 [*] Yoda conditions are discouraged, use `age == 42` instead
|
|
||||||
|
|
|
||||||
2 | "yoda" == compare # SIM300
|
|
||||||
3 | "yoda" == compare # SIM300
|
|
||||||
4 | 42 == age # SIM300
|
|
||||||
| ^^^^^^^^^ SIM300
|
| ^^^^^^^^^ SIM300
|
||||||
5 | ("a", "b") == compare # SIM300
|
4 | ("a", "b") == compare # SIM300
|
||||||
6 | "yoda" <= compare # SIM300
|
5 | "yoda" <= compare # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `age == 42`
|
= help: Replace Yoda condition with `age == 42`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
1 1 | # Errors
|
1 1 | # Errors
|
||||||
2 2 | "yoda" == compare # SIM300
|
2 2 | "yoda" == compare # SIM300
|
||||||
3 3 | "yoda" == compare # SIM300
|
3 |-42 == age # SIM300
|
||||||
4 |-42 == age # SIM300
|
3 |+age == 42 # SIM300
|
||||||
4 |+age == 42 # SIM300
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
5 5 | ("a", "b") == compare # SIM300
|
5 5 | "yoda" <= compare # SIM300
|
||||||
6 6 | "yoda" <= compare # SIM300
|
6 6 | "yoda" < compare # SIM300
|
||||||
7 7 | "yoda" < compare # SIM300
|
|
||||||
|
|
||||||
SIM300.py:5:1: SIM300 [*] Yoda conditions are discouraged, use `compare == ("a", "b")` instead
|
SIM300.py:4:1: SIM300 [*] Yoda conditions are discouraged, use `compare == ("a", "b")` instead
|
||||||
|
|
|
|
||||||
3 | "yoda" == compare # SIM300
|
2 | "yoda" == compare # SIM300
|
||||||
4 | 42 == age # SIM300
|
3 | 42 == age # SIM300
|
||||||
5 | ("a", "b") == compare # SIM300
|
4 | ("a", "b") == compare # SIM300
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
6 | "yoda" <= compare # SIM300
|
5 | "yoda" <= compare # SIM300
|
||||||
7 | "yoda" < compare # SIM300
|
6 | "yoda" < compare # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `compare == ("a", "b")`
|
= help: Replace Yoda condition with `compare == ("a", "b")`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
|
1 1 | # Errors
|
||||||
2 2 | "yoda" == compare # SIM300
|
2 2 | "yoda" == compare # SIM300
|
||||||
3 3 | "yoda" == compare # SIM300
|
3 3 | 42 == age # SIM300
|
||||||
4 4 | 42 == age # SIM300
|
4 |-("a", "b") == compare # SIM300
|
||||||
5 |-("a", "b") == compare # SIM300
|
4 |+compare == ("a", "b") # SIM300
|
||||||
5 |+compare == ("a", "b") # SIM300
|
5 5 | "yoda" <= compare # SIM300
|
||||||
6 6 | "yoda" <= compare # SIM300
|
6 6 | "yoda" < compare # SIM300
|
||||||
7 7 | "yoda" < compare # SIM300
|
7 7 | 42 > age # SIM300
|
||||||
8 8 | 42 > age # SIM300
|
|
||||||
|
|
||||||
SIM300.py:6:1: SIM300 [*] Yoda conditions are discouraged, use `compare >= "yoda"` instead
|
SIM300.py:5:1: SIM300 [*] Yoda conditions are discouraged, use `compare >= "yoda"` instead
|
||||||
|
|
|
|
||||||
4 | 42 == age # SIM300
|
3 | 42 == age # SIM300
|
||||||
5 | ("a", "b") == compare # SIM300
|
4 | ("a", "b") == compare # SIM300
|
||||||
6 | "yoda" <= compare # SIM300
|
5 | "yoda" <= compare # SIM300
|
||||||
| ^^^^^^^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^^^^^^^ SIM300
|
||||||
7 | "yoda" < compare # SIM300
|
6 | "yoda" < compare # SIM300
|
||||||
8 | 42 > age # SIM300
|
7 | 42 > age # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `compare >= "yoda"`
|
= help: Replace Yoda condition with `compare >= "yoda"`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
3 3 | "yoda" == compare # SIM300
|
2 2 | "yoda" == compare # SIM300
|
||||||
4 4 | 42 == age # SIM300
|
3 3 | 42 == age # SIM300
|
||||||
5 5 | ("a", "b") == compare # SIM300
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
6 |-"yoda" <= compare # SIM300
|
5 |-"yoda" <= compare # SIM300
|
||||||
6 |+compare >= "yoda" # SIM300
|
5 |+compare >= "yoda" # SIM300
|
||||||
7 7 | "yoda" < compare # SIM300
|
6 6 | "yoda" < compare # SIM300
|
||||||
8 8 | 42 > age # SIM300
|
7 7 | 42 > age # SIM300
|
||||||
9 9 | -42 > age # SIM300
|
8 8 | -42 > age # SIM300
|
||||||
|
|
||||||
SIM300.py:7:1: SIM300 [*] Yoda conditions are discouraged, use `compare > "yoda"` instead
|
SIM300.py:6:1: SIM300 [*] Yoda conditions are discouraged, use `compare > "yoda"` instead
|
||||||
|
|
|
|
||||||
5 | ("a", "b") == compare # SIM300
|
4 | ("a", "b") == compare # SIM300
|
||||||
6 | "yoda" <= compare # SIM300
|
5 | "yoda" <= compare # SIM300
|
||||||
7 | "yoda" < compare # SIM300
|
6 | "yoda" < compare # SIM300
|
||||||
| ^^^^^^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^^^^^^ SIM300
|
||||||
8 | 42 > age # SIM300
|
7 | 42 > age # SIM300
|
||||||
9 | -42 > age # SIM300
|
8 | -42 > age # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `compare > "yoda"`
|
= help: Replace Yoda condition with `compare > "yoda"`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
4 4 | 42 == age # SIM300
|
3 3 | 42 == age # SIM300
|
||||||
5 5 | ("a", "b") == compare # SIM300
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
6 6 | "yoda" <= compare # SIM300
|
5 5 | "yoda" <= compare # SIM300
|
||||||
7 |-"yoda" < compare # SIM300
|
6 |-"yoda" < compare # SIM300
|
||||||
7 |+compare > "yoda" # SIM300
|
6 |+compare > "yoda" # SIM300
|
||||||
8 8 | 42 > age # SIM300
|
7 7 | 42 > age # SIM300
|
||||||
9 9 | -42 > age # SIM300
|
8 8 | -42 > age # SIM300
|
||||||
10 10 | +42 > age # SIM300
|
9 9 | +42 > age # SIM300
|
||||||
|
|
||||||
SIM300.py:8:1: SIM300 [*] Yoda conditions are discouraged, use `age < 42` instead
|
SIM300.py:7:1: SIM300 [*] Yoda conditions are discouraged, use `age < 42` instead
|
||||||
|
|
|
|
||||||
6 | "yoda" <= compare # SIM300
|
5 | "yoda" <= compare # SIM300
|
||||||
7 | "yoda" < compare # SIM300
|
6 | "yoda" < compare # SIM300
|
||||||
8 | 42 > age # SIM300
|
7 | 42 > age # SIM300
|
||||||
| ^^^^^^^^ SIM300
|
| ^^^^^^^^ SIM300
|
||||||
9 | -42 > age # SIM300
|
8 | -42 > age # SIM300
|
||||||
10 | +42 > age # SIM300
|
9 | +42 > age # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `age < 42`
|
= help: Replace Yoda condition with `age < 42`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
5 5 | ("a", "b") == compare # SIM300
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
6 6 | "yoda" <= compare # SIM300
|
5 5 | "yoda" <= compare # SIM300
|
||||||
7 7 | "yoda" < compare # SIM300
|
6 6 | "yoda" < compare # SIM300
|
||||||
8 |-42 > age # SIM300
|
7 |-42 > age # SIM300
|
||||||
8 |+age < 42 # SIM300
|
7 |+age < 42 # SIM300
|
||||||
9 9 | -42 > age # SIM300
|
8 8 | -42 > age # SIM300
|
||||||
10 10 | +42 > age # SIM300
|
9 9 | +42 > age # SIM300
|
||||||
11 11 | YODA == age # SIM300
|
10 10 | YODA == age # SIM300
|
||||||
|
|
||||||
SIM300.py:9:1: SIM300 [*] Yoda conditions are discouraged, use `age < -42` instead
|
SIM300.py:8:1: SIM300 [*] Yoda conditions are discouraged, use `age < -42` instead
|
||||||
|
|
|
|
||||||
7 | "yoda" < compare # SIM300
|
6 | "yoda" < compare # SIM300
|
||||||
8 | 42 > age # SIM300
|
7 | 42 > age # SIM300
|
||||||
9 | -42 > age # SIM300
|
8 | -42 > age # SIM300
|
||||||
| ^^^^^^^^^ SIM300
|
| ^^^^^^^^^ SIM300
|
||||||
10 | +42 > age # SIM300
|
9 | +42 > age # SIM300
|
||||||
11 | YODA == age # SIM300
|
10 | YODA == age # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `age < -42`
|
= help: Replace Yoda condition with `age < -42`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
6 6 | "yoda" <= compare # SIM300
|
5 5 | "yoda" <= compare # SIM300
|
||||||
7 7 | "yoda" < compare # SIM300
|
6 6 | "yoda" < compare # SIM300
|
||||||
8 8 | 42 > age # SIM300
|
7 7 | 42 > age # SIM300
|
||||||
9 |--42 > age # SIM300
|
8 |--42 > age # SIM300
|
||||||
9 |+age < -42 # SIM300
|
8 |+age < -42 # SIM300
|
||||||
10 10 | +42 > age # SIM300
|
9 9 | +42 > age # SIM300
|
||||||
11 11 | YODA == age # SIM300
|
10 10 | YODA == age # SIM300
|
||||||
12 12 | YODA > age # SIM300
|
11 11 | YODA > age # SIM300
|
||||||
|
|
||||||
SIM300.py:10:1: SIM300 [*] Yoda conditions are discouraged, use `age < +42` instead
|
SIM300.py:9:1: SIM300 [*] Yoda conditions are discouraged, use `age < +42` instead
|
||||||
|
|
|
|
||||||
8 | 42 > age # SIM300
|
7 | 42 > age # SIM300
|
||||||
9 | -42 > age # SIM300
|
8 | -42 > age # SIM300
|
||||||
10 | +42 > age # SIM300
|
9 | +42 > age # SIM300
|
||||||
| ^^^^^^^^^ SIM300
|
| ^^^^^^^^^ SIM300
|
||||||
11 | YODA == age # SIM300
|
10 | YODA == age # SIM300
|
||||||
12 | YODA > age # SIM300
|
11 | YODA > age # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `age < +42`
|
= help: Replace Yoda condition with `age < +42`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
7 7 | "yoda" < compare # SIM300
|
6 6 | "yoda" < compare # SIM300
|
||||||
8 8 | 42 > age # SIM300
|
7 7 | 42 > age # SIM300
|
||||||
9 9 | -42 > age # SIM300
|
8 8 | -42 > age # SIM300
|
||||||
10 |-+42 > age # SIM300
|
9 |-+42 > age # SIM300
|
||||||
10 |+age < +42 # SIM300
|
9 |+age < +42 # SIM300
|
||||||
11 11 | YODA == age # SIM300
|
10 10 | YODA == age # SIM300
|
||||||
12 12 | YODA > age # SIM300
|
11 11 | YODA > age # SIM300
|
||||||
13 13 | YODA >= age # SIM300
|
12 12 | YODA >= age # SIM300
|
||||||
|
|
||||||
SIM300.py:11:1: SIM300 [*] Yoda conditions are discouraged, use `age == YODA` instead
|
SIM300.py:10:1: SIM300 [*] Yoda conditions are discouraged, use `age == YODA` instead
|
||||||
|
|
|
|
||||||
9 | -42 > age # SIM300
|
8 | -42 > age # SIM300
|
||||||
10 | +42 > age # SIM300
|
9 | +42 > age # SIM300
|
||||||
11 | YODA == age # SIM300
|
10 | YODA == age # SIM300
|
||||||
| ^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^ SIM300
|
||||||
12 | YODA > age # SIM300
|
11 | YODA > age # SIM300
|
||||||
13 | YODA >= age # SIM300
|
12 | YODA >= age # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `age == YODA`
|
= help: Replace Yoda condition with `age == YODA`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
8 8 | 42 > age # SIM300
|
7 7 | 42 > age # SIM300
|
||||||
9 9 | -42 > age # SIM300
|
8 8 | -42 > age # SIM300
|
||||||
10 10 | +42 > age # SIM300
|
9 9 | +42 > age # SIM300
|
||||||
11 |-YODA == age # SIM300
|
10 |-YODA == age # SIM300
|
||||||
11 |+age == YODA # SIM300
|
10 |+age == YODA # SIM300
|
||||||
12 12 | YODA > age # SIM300
|
11 11 | YODA > age # SIM300
|
||||||
13 13 | YODA >= age # SIM300
|
12 12 | YODA >= age # SIM300
|
||||||
14 14 | JediOrder.YODA == age # SIM300
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
|
|
||||||
SIM300.py:12:1: SIM300 [*] Yoda conditions are discouraged, use `age < YODA` instead
|
SIM300.py:11:1: SIM300 [*] Yoda conditions are discouraged, use `age < YODA` instead
|
||||||
|
|
|
|
||||||
10 | +42 > age # SIM300
|
9 | +42 > age # SIM300
|
||||||
11 | YODA == age # SIM300
|
10 | YODA == age # SIM300
|
||||||
12 | YODA > age # SIM300
|
11 | YODA > age # SIM300
|
||||||
| ^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^ SIM300
|
||||||
13 | YODA >= age # SIM300
|
12 | YODA >= age # SIM300
|
||||||
14 | JediOrder.YODA == age # SIM300
|
13 | JediOrder.YODA == age # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `age < YODA`
|
= help: Replace Yoda condition with `age < YODA`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
9 9 | -42 > age # SIM300
|
8 8 | -42 > age # SIM300
|
||||||
10 10 | +42 > age # SIM300
|
9 9 | +42 > age # SIM300
|
||||||
11 11 | YODA == age # SIM300
|
10 10 | YODA == age # SIM300
|
||||||
12 |-YODA > age # SIM300
|
11 |-YODA > age # SIM300
|
||||||
12 |+age < YODA # SIM300
|
11 |+age < YODA # SIM300
|
||||||
13 13 | YODA >= age # SIM300
|
12 12 | YODA >= age # SIM300
|
||||||
14 14 | JediOrder.YODA == age # SIM300
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
15 15 | 0 < (number - 100) # SIM300
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
|
|
||||||
SIM300.py:13:1: SIM300 [*] Yoda conditions are discouraged, use `age <= YODA` instead
|
SIM300.py:12:1: SIM300 [*] Yoda conditions are discouraged, use `age <= YODA` instead
|
||||||
|
|
|
|
||||||
11 | YODA == age # SIM300
|
10 | YODA == age # SIM300
|
||||||
12 | YODA > age # SIM300
|
11 | YODA > age # SIM300
|
||||||
13 | YODA >= age # SIM300
|
12 | YODA >= age # SIM300
|
||||||
| ^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^ SIM300
|
||||||
14 | JediOrder.YODA == age # SIM300
|
13 | JediOrder.YODA == age # SIM300
|
||||||
15 | 0 < (number - 100) # SIM300
|
14 | 0 < (number - 100) # SIM300
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `age <= YODA`
|
= help: Replace Yoda condition with `age <= YODA`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
10 10 | +42 > age # SIM300
|
9 9 | +42 > age # SIM300
|
||||||
11 11 | YODA == age # SIM300
|
10 10 | YODA == age # SIM300
|
||||||
12 12 | YODA > age # SIM300
|
11 11 | YODA > age # SIM300
|
||||||
13 |-YODA >= age # SIM300
|
12 |-YODA >= age # SIM300
|
||||||
13 |+age <= YODA # SIM300
|
12 |+age <= YODA # SIM300
|
||||||
14 14 | JediOrder.YODA == age # SIM300
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
15 15 | 0 < (number - 100) # SIM300
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
16 16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
15 15 | B<A[0][0]or B
|
||||||
|
|
||||||
SIM300.py:14:1: SIM300 [*] Yoda conditions are discouraged, use `age == JediOrder.YODA` instead
|
SIM300.py:13:1: SIM300 [*] Yoda conditions are discouraged, use `age == JediOrder.YODA` instead
|
||||||
|
|
|
|
||||||
12 | YODA > age # SIM300
|
11 | YODA > age # SIM300
|
||||||
13 | YODA >= age # SIM300
|
12 | YODA >= age # SIM300
|
||||||
14 | JediOrder.YODA == age # SIM300
|
13 | JediOrder.YODA == age # SIM300
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
15 | 0 < (number - 100) # SIM300
|
14 | 0 < (number - 100) # SIM300
|
||||||
16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
15 | B<A[0][0]or B
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `age == JediOrder.YODA`
|
= help: Replace Yoda condition with `age == JediOrder.YODA`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
11 11 | YODA == age # SIM300
|
10 10 | YODA == age # SIM300
|
||||||
12 12 | YODA > age # SIM300
|
11 11 | YODA > age # SIM300
|
||||||
13 13 | YODA >= age # SIM300
|
12 12 | YODA >= age # SIM300
|
||||||
14 |-JediOrder.YODA == age # SIM300
|
13 |-JediOrder.YODA == age # SIM300
|
||||||
14 |+age == JediOrder.YODA # SIM300
|
13 |+age == JediOrder.YODA # SIM300
|
||||||
15 15 | 0 < (number - 100) # SIM300
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
16 16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
15 15 | B<A[0][0]or B
|
||||||
17 17 | B<A[0][0]or B
|
16 16 | B or(B)<A[0][0]
|
||||||
|
|
||||||
SIM300.py:15:1: SIM300 [*] Yoda conditions are discouraged, use `(number - 100) > 0` instead
|
SIM300.py:14:1: SIM300 [*] Yoda conditions are discouraged, use `(number - 100) > 0` instead
|
||||||
|
|
|
|
||||||
13 | YODA >= age # SIM300
|
12 | YODA >= age # SIM300
|
||||||
14 | JediOrder.YODA == age # SIM300
|
13 | JediOrder.YODA == age # SIM300
|
||||||
15 | 0 < (number - 100) # SIM300
|
14 | 0 < (number - 100) # SIM300
|
||||||
| ^^^^^^^^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
15 | B<A[0][0]or B
|
||||||
17 | B<A[0][0]or B
|
16 | B or(B)<A[0][0]
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `(number - 100) > 0`
|
= help: Replace Yoda condition with `(number - 100) > 0`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
12 12 | YODA > age # SIM300
|
11 11 | YODA > age # SIM300
|
||||||
13 13 | YODA >= age # SIM300
|
12 12 | YODA >= age # SIM300
|
||||||
14 14 | JediOrder.YODA == age # SIM300
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
15 |-0 < (number - 100) # SIM300
|
14 |-0 < (number - 100) # SIM300
|
||||||
15 |+(number - 100) > 0 # SIM300
|
14 |+(number - 100) > 0 # SIM300
|
||||||
16 16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
15 15 | B<A[0][0]or B
|
||||||
17 17 | B<A[0][0]or B
|
16 16 | B or(B)<A[0][0]
|
||||||
18 18 | B or(B)<A[0][0]
|
17 17 |
|
||||||
|
|
||||||
SIM300.py:16:1: SIM300 [*] Yoda conditions are discouraged
|
SIM300.py:15:1: SIM300 [*] Yoda conditions are discouraged, use `A[0][0] > B` instead
|
||||||
|
|
|
|
||||||
14 | JediOrder.YODA == age # SIM300
|
13 | JediOrder.YODA == age # SIM300
|
||||||
15 | 0 < (number - 100) # SIM300
|
14 | 0 < (number - 100) # SIM300
|
||||||
16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
15 | B<A[0][0]or B
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SIM300
|
|
||||||
17 | B<A[0][0]or B
|
|
||||||
18 | B or(B)<A[0][0]
|
|
||||||
|
|
|
||||||
= help: Replace Yoda condition
|
|
||||||
|
|
||||||
ℹ Safe fix
|
|
||||||
13 13 | YODA >= age # SIM300
|
|
||||||
14 14 | JediOrder.YODA == age # SIM300
|
|
||||||
15 15 | 0 < (number - 100) # SIM300
|
|
||||||
16 |-SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
|
||||||
16 |+(60 * 60) < SomeClass().settings.SOME_CONSTANT_VALUE # SIM300
|
|
||||||
17 17 | B<A[0][0]or B
|
|
||||||
18 18 | B or(B)<A[0][0]
|
|
||||||
19 19 |
|
|
||||||
|
|
||||||
SIM300.py:17:1: SIM300 [*] Yoda conditions are discouraged, use `A[0][0] > B` instead
|
|
||||||
|
|
|
||||||
15 | 0 < (number - 100) # SIM300
|
|
||||||
16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
|
||||||
17 | B<A[0][0]or B
|
|
||||||
| ^^^^^^^^^ SIM300
|
| ^^^^^^^^^ SIM300
|
||||||
18 | B or(B)<A[0][0]
|
16 | B or(B)<A[0][0]
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `A[0][0] > B`
|
= help: Replace Yoda condition with `A[0][0] > B`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
14 14 | JediOrder.YODA == age # SIM300
|
12 12 | YODA >= age # SIM300
|
||||||
15 15 | 0 < (number - 100) # SIM300
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
16 16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
17 |-B<A[0][0]or B
|
15 |-B<A[0][0]or B
|
||||||
17 |+A[0][0] > B or B
|
15 |+A[0][0] > B or B
|
||||||
18 18 | B or(B)<A[0][0]
|
16 16 | B or(B)<A[0][0]
|
||||||
19 19 |
|
17 17 |
|
||||||
20 20 | # OK
|
18 18 | # Errors in preview
|
||||||
|
|
||||||
SIM300.py:18:5: SIM300 [*] Yoda conditions are discouraged, use `A[0][0] > (B)` instead
|
SIM300.py:16:5: SIM300 [*] Yoda conditions are discouraged, use `A[0][0] > (B)` instead
|
||||||
|
|
|
|
||||||
16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
14 | 0 < (number - 100) # SIM300
|
||||||
17 | B<A[0][0]or B
|
15 | B<A[0][0]or B
|
||||||
18 | B or(B)<A[0][0]
|
16 | B or(B)<A[0][0]
|
||||||
| ^^^^^^^^^^^ SIM300
|
| ^^^^^^^^^^^ SIM300
|
||||||
19 |
|
17 |
|
||||||
20 | # OK
|
18 | # Errors in preview
|
||||||
|
|
|
|
||||||
= help: Replace Yoda condition with `A[0][0] > (B)`
|
= help: Replace Yoda condition with `A[0][0] > (B)`
|
||||||
|
|
||||||
ℹ Safe fix
|
ℹ Safe fix
|
||||||
15 15 | 0 < (number - 100) # SIM300
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
16 16 | SomeClass().settings.SOME_CONSTANT_VALUE > (60 * 60) # SIM300
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
17 17 | B<A[0][0]or B
|
15 15 | B<A[0][0]or B
|
||||||
18 |-B or(B)<A[0][0]
|
16 |-B or(B)<A[0][0]
|
||||||
18 |+B or A[0][0] > (B)
|
16 |+B or A[0][0] > (B)
|
||||||
19 19 |
|
17 17 |
|
||||||
20 20 | # OK
|
18 18 | # Errors in preview
|
||||||
21 21 | compare == "yoda"
|
19 19 | ['upper'] == UPPER_LIST
|
||||||
|
|
||||||
|
SIM300.py:23:1: SIM300 [*] Yoda conditions are discouraged, use `['upper'] == UPPER_LIST` instead
|
||||||
|
|
|
||||||
|
22 | # Errors in stable
|
||||||
|
23 | UPPER_LIST == ['upper']
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
24 | DummyHandler.CONFIG == {}
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `['upper'] == UPPER_LIST`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
20 20 | {} == DummyHandler.CONFIG
|
||||||
|
21 21 |
|
||||||
|
22 22 | # Errors in stable
|
||||||
|
23 |-UPPER_LIST == ['upper']
|
||||||
|
23 |+['upper'] == UPPER_LIST
|
||||||
|
24 24 | DummyHandler.CONFIG == {}
|
||||||
|
25 25 |
|
||||||
|
26 26 | # OK
|
||||||
|
|
||||||
|
SIM300.py:24:1: SIM300 [*] Yoda conditions are discouraged, use `{} == DummyHandler.CONFIG` instead
|
||||||
|
|
|
||||||
|
22 | # Errors in stable
|
||||||
|
23 | UPPER_LIST == ['upper']
|
||||||
|
24 | DummyHandler.CONFIG == {}
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
25 |
|
||||||
|
26 | # OK
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `{} == DummyHandler.CONFIG`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
21 21 |
|
||||||
|
22 22 | # Errors in stable
|
||||||
|
23 23 | UPPER_LIST == ['upper']
|
||||||
|
24 |-DummyHandler.CONFIG == {}
|
||||||
|
24 |+{} == DummyHandler.CONFIG
|
||||||
|
25 25 |
|
||||||
|
26 26 | # OK
|
||||||
|
27 27 | compare == "yoda"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,354 @@
|
|||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/flake8_simplify/mod.rs
|
||||||
|
---
|
||||||
|
SIM300.py:2:1: SIM300 [*] Yoda conditions are discouraged, use `compare == "yoda"` instead
|
||||||
|
|
|
||||||
|
1 | # Errors
|
||||||
|
2 | "yoda" == compare # SIM300
|
||||||
|
| ^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
3 | 42 == age # SIM300
|
||||||
|
4 | ("a", "b") == compare # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `compare == "yoda"`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
1 1 | # Errors
|
||||||
|
2 |-"yoda" == compare # SIM300
|
||||||
|
2 |+compare == "yoda" # SIM300
|
||||||
|
3 3 | 42 == age # SIM300
|
||||||
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
|
5 5 | "yoda" <= compare # SIM300
|
||||||
|
|
||||||
|
SIM300.py:3:1: SIM300 [*] Yoda conditions are discouraged, use `age == 42` instead
|
||||||
|
|
|
||||||
|
1 | # Errors
|
||||||
|
2 | "yoda" == compare # SIM300
|
||||||
|
3 | 42 == age # SIM300
|
||||||
|
| ^^^^^^^^^ SIM300
|
||||||
|
4 | ("a", "b") == compare # SIM300
|
||||||
|
5 | "yoda" <= compare # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `age == 42`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
1 1 | # Errors
|
||||||
|
2 2 | "yoda" == compare # SIM300
|
||||||
|
3 |-42 == age # SIM300
|
||||||
|
3 |+age == 42 # SIM300
|
||||||
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
|
5 5 | "yoda" <= compare # SIM300
|
||||||
|
6 6 | "yoda" < compare # SIM300
|
||||||
|
|
||||||
|
SIM300.py:4:1: SIM300 [*] Yoda conditions are discouraged, use `compare == ("a", "b")` instead
|
||||||
|
|
|
||||||
|
2 | "yoda" == compare # SIM300
|
||||||
|
3 | 42 == age # SIM300
|
||||||
|
4 | ("a", "b") == compare # SIM300
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
5 | "yoda" <= compare # SIM300
|
||||||
|
6 | "yoda" < compare # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `compare == ("a", "b")`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
1 1 | # Errors
|
||||||
|
2 2 | "yoda" == compare # SIM300
|
||||||
|
3 3 | 42 == age # SIM300
|
||||||
|
4 |-("a", "b") == compare # SIM300
|
||||||
|
4 |+compare == ("a", "b") # SIM300
|
||||||
|
5 5 | "yoda" <= compare # SIM300
|
||||||
|
6 6 | "yoda" < compare # SIM300
|
||||||
|
7 7 | 42 > age # SIM300
|
||||||
|
|
||||||
|
SIM300.py:5:1: SIM300 [*] Yoda conditions are discouraged, use `compare >= "yoda"` instead
|
||||||
|
|
|
||||||
|
3 | 42 == age # SIM300
|
||||||
|
4 | ("a", "b") == compare # SIM300
|
||||||
|
5 | "yoda" <= compare # SIM300
|
||||||
|
| ^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
6 | "yoda" < compare # SIM300
|
||||||
|
7 | 42 > age # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `compare >= "yoda"`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
2 2 | "yoda" == compare # SIM300
|
||||||
|
3 3 | 42 == age # SIM300
|
||||||
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
|
5 |-"yoda" <= compare # SIM300
|
||||||
|
5 |+compare >= "yoda" # SIM300
|
||||||
|
6 6 | "yoda" < compare # SIM300
|
||||||
|
7 7 | 42 > age # SIM300
|
||||||
|
8 8 | -42 > age # SIM300
|
||||||
|
|
||||||
|
SIM300.py:6:1: SIM300 [*] Yoda conditions are discouraged, use `compare > "yoda"` instead
|
||||||
|
|
|
||||||
|
4 | ("a", "b") == compare # SIM300
|
||||||
|
5 | "yoda" <= compare # SIM300
|
||||||
|
6 | "yoda" < compare # SIM300
|
||||||
|
| ^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
7 | 42 > age # SIM300
|
||||||
|
8 | -42 > age # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `compare > "yoda"`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
3 3 | 42 == age # SIM300
|
||||||
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
|
5 5 | "yoda" <= compare # SIM300
|
||||||
|
6 |-"yoda" < compare # SIM300
|
||||||
|
6 |+compare > "yoda" # SIM300
|
||||||
|
7 7 | 42 > age # SIM300
|
||||||
|
8 8 | -42 > age # SIM300
|
||||||
|
9 9 | +42 > age # SIM300
|
||||||
|
|
||||||
|
SIM300.py:7:1: SIM300 [*] Yoda conditions are discouraged, use `age < 42` instead
|
||||||
|
|
|
||||||
|
5 | "yoda" <= compare # SIM300
|
||||||
|
6 | "yoda" < compare # SIM300
|
||||||
|
7 | 42 > age # SIM300
|
||||||
|
| ^^^^^^^^ SIM300
|
||||||
|
8 | -42 > age # SIM300
|
||||||
|
9 | +42 > age # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `age < 42`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
4 4 | ("a", "b") == compare # SIM300
|
||||||
|
5 5 | "yoda" <= compare # SIM300
|
||||||
|
6 6 | "yoda" < compare # SIM300
|
||||||
|
7 |-42 > age # SIM300
|
||||||
|
7 |+age < 42 # SIM300
|
||||||
|
8 8 | -42 > age # SIM300
|
||||||
|
9 9 | +42 > age # SIM300
|
||||||
|
10 10 | YODA == age # SIM300
|
||||||
|
|
||||||
|
SIM300.py:8:1: SIM300 [*] Yoda conditions are discouraged, use `age < -42` instead
|
||||||
|
|
|
||||||
|
6 | "yoda" < compare # SIM300
|
||||||
|
7 | 42 > age # SIM300
|
||||||
|
8 | -42 > age # SIM300
|
||||||
|
| ^^^^^^^^^ SIM300
|
||||||
|
9 | +42 > age # SIM300
|
||||||
|
10 | YODA == age # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `age < -42`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
5 5 | "yoda" <= compare # SIM300
|
||||||
|
6 6 | "yoda" < compare # SIM300
|
||||||
|
7 7 | 42 > age # SIM300
|
||||||
|
8 |--42 > age # SIM300
|
||||||
|
8 |+age < -42 # SIM300
|
||||||
|
9 9 | +42 > age # SIM300
|
||||||
|
10 10 | YODA == age # SIM300
|
||||||
|
11 11 | YODA > age # SIM300
|
||||||
|
|
||||||
|
SIM300.py:9:1: SIM300 [*] Yoda conditions are discouraged, use `age < +42` instead
|
||||||
|
|
|
||||||
|
7 | 42 > age # SIM300
|
||||||
|
8 | -42 > age # SIM300
|
||||||
|
9 | +42 > age # SIM300
|
||||||
|
| ^^^^^^^^^ SIM300
|
||||||
|
10 | YODA == age # SIM300
|
||||||
|
11 | YODA > age # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `age < +42`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
6 6 | "yoda" < compare # SIM300
|
||||||
|
7 7 | 42 > age # SIM300
|
||||||
|
8 8 | -42 > age # SIM300
|
||||||
|
9 |-+42 > age # SIM300
|
||||||
|
9 |+age < +42 # SIM300
|
||||||
|
10 10 | YODA == age # SIM300
|
||||||
|
11 11 | YODA > age # SIM300
|
||||||
|
12 12 | YODA >= age # SIM300
|
||||||
|
|
||||||
|
SIM300.py:10:1: SIM300 [*] Yoda conditions are discouraged, use `age == YODA` instead
|
||||||
|
|
|
||||||
|
8 | -42 > age # SIM300
|
||||||
|
9 | +42 > age # SIM300
|
||||||
|
10 | YODA == age # SIM300
|
||||||
|
| ^^^^^^^^^^^ SIM300
|
||||||
|
11 | YODA > age # SIM300
|
||||||
|
12 | YODA >= age # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `age == YODA`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
7 7 | 42 > age # SIM300
|
||||||
|
8 8 | -42 > age # SIM300
|
||||||
|
9 9 | +42 > age # SIM300
|
||||||
|
10 |-YODA == age # SIM300
|
||||||
|
10 |+age == YODA # SIM300
|
||||||
|
11 11 | YODA > age # SIM300
|
||||||
|
12 12 | YODA >= age # SIM300
|
||||||
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
|
|
||||||
|
SIM300.py:11:1: SIM300 [*] Yoda conditions are discouraged, use `age < YODA` instead
|
||||||
|
|
|
||||||
|
9 | +42 > age # SIM300
|
||||||
|
10 | YODA == age # SIM300
|
||||||
|
11 | YODA > age # SIM300
|
||||||
|
| ^^^^^^^^^^ SIM300
|
||||||
|
12 | YODA >= age # SIM300
|
||||||
|
13 | JediOrder.YODA == age # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `age < YODA`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
8 8 | -42 > age # SIM300
|
||||||
|
9 9 | +42 > age # SIM300
|
||||||
|
10 10 | YODA == age # SIM300
|
||||||
|
11 |-YODA > age # SIM300
|
||||||
|
11 |+age < YODA # SIM300
|
||||||
|
12 12 | YODA >= age # SIM300
|
||||||
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
|
|
||||||
|
SIM300.py:12:1: SIM300 [*] Yoda conditions are discouraged, use `age <= YODA` instead
|
||||||
|
|
|
||||||
|
10 | YODA == age # SIM300
|
||||||
|
11 | YODA > age # SIM300
|
||||||
|
12 | YODA >= age # SIM300
|
||||||
|
| ^^^^^^^^^^^ SIM300
|
||||||
|
13 | JediOrder.YODA == age # SIM300
|
||||||
|
14 | 0 < (number - 100) # SIM300
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `age <= YODA`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
9 9 | +42 > age # SIM300
|
||||||
|
10 10 | YODA == age # SIM300
|
||||||
|
11 11 | YODA > age # SIM300
|
||||||
|
12 |-YODA >= age # SIM300
|
||||||
|
12 |+age <= YODA # SIM300
|
||||||
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
|
15 15 | B<A[0][0]or B
|
||||||
|
|
||||||
|
SIM300.py:13:1: SIM300 [*] Yoda conditions are discouraged, use `age == JediOrder.YODA` instead
|
||||||
|
|
|
||||||
|
11 | YODA > age # SIM300
|
||||||
|
12 | YODA >= age # SIM300
|
||||||
|
13 | JediOrder.YODA == age # SIM300
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
14 | 0 < (number - 100) # SIM300
|
||||||
|
15 | B<A[0][0]or B
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `age == JediOrder.YODA`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
10 10 | YODA == age # SIM300
|
||||||
|
11 11 | YODA > age # SIM300
|
||||||
|
12 12 | YODA >= age # SIM300
|
||||||
|
13 |-JediOrder.YODA == age # SIM300
|
||||||
|
13 |+age == JediOrder.YODA # SIM300
|
||||||
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
|
15 15 | B<A[0][0]or B
|
||||||
|
16 16 | B or(B)<A[0][0]
|
||||||
|
|
||||||
|
SIM300.py:14:1: SIM300 [*] Yoda conditions are discouraged, use `(number - 100) > 0` instead
|
||||||
|
|
|
||||||
|
12 | YODA >= age # SIM300
|
||||||
|
13 | JediOrder.YODA == age # SIM300
|
||||||
|
14 | 0 < (number - 100) # SIM300
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
15 | B<A[0][0]or B
|
||||||
|
16 | B or(B)<A[0][0]
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `(number - 100) > 0`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
11 11 | YODA > age # SIM300
|
||||||
|
12 12 | YODA >= age # SIM300
|
||||||
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
|
14 |-0 < (number - 100) # SIM300
|
||||||
|
14 |+(number - 100) > 0 # SIM300
|
||||||
|
15 15 | B<A[0][0]or B
|
||||||
|
16 16 | B or(B)<A[0][0]
|
||||||
|
17 17 |
|
||||||
|
|
||||||
|
SIM300.py:15:1: SIM300 [*] Yoda conditions are discouraged, use `A[0][0] > B` instead
|
||||||
|
|
|
||||||
|
13 | JediOrder.YODA == age # SIM300
|
||||||
|
14 | 0 < (number - 100) # SIM300
|
||||||
|
15 | B<A[0][0]or B
|
||||||
|
| ^^^^^^^^^ SIM300
|
||||||
|
16 | B or(B)<A[0][0]
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `A[0][0] > B`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
12 12 | YODA >= age # SIM300
|
||||||
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
|
15 |-B<A[0][0]or B
|
||||||
|
15 |+A[0][0] > B or B
|
||||||
|
16 16 | B or(B)<A[0][0]
|
||||||
|
17 17 |
|
||||||
|
18 18 | # Errors in preview
|
||||||
|
|
||||||
|
SIM300.py:16:5: SIM300 [*] Yoda conditions are discouraged, use `A[0][0] > (B)` instead
|
||||||
|
|
|
||||||
|
14 | 0 < (number - 100) # SIM300
|
||||||
|
15 | B<A[0][0]or B
|
||||||
|
16 | B or(B)<A[0][0]
|
||||||
|
| ^^^^^^^^^^^ SIM300
|
||||||
|
17 |
|
||||||
|
18 | # Errors in preview
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `A[0][0] > (B)`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
13 13 | JediOrder.YODA == age # SIM300
|
||||||
|
14 14 | 0 < (number - 100) # SIM300
|
||||||
|
15 15 | B<A[0][0]or B
|
||||||
|
16 |-B or(B)<A[0][0]
|
||||||
|
16 |+B or A[0][0] > (B)
|
||||||
|
17 17 |
|
||||||
|
18 18 | # Errors in preview
|
||||||
|
19 19 | ['upper'] == UPPER_LIST
|
||||||
|
|
||||||
|
SIM300.py:19:1: SIM300 [*] Yoda conditions are discouraged, use `UPPER_LIST == ['upper']` instead
|
||||||
|
|
|
||||||
|
18 | # Errors in preview
|
||||||
|
19 | ['upper'] == UPPER_LIST
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
20 | {} == DummyHandler.CONFIG
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `UPPER_LIST == ['upper']`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
16 16 | B or(B)<A[0][0]
|
||||||
|
17 17 |
|
||||||
|
18 18 | # Errors in preview
|
||||||
|
19 |-['upper'] == UPPER_LIST
|
||||||
|
19 |+UPPER_LIST == ['upper']
|
||||||
|
20 20 | {} == DummyHandler.CONFIG
|
||||||
|
21 21 |
|
||||||
|
22 22 | # Errors in stable
|
||||||
|
|
||||||
|
SIM300.py:20:1: SIM300 [*] Yoda conditions are discouraged, use `DummyHandler.CONFIG == {}` instead
|
||||||
|
|
|
||||||
|
18 | # Errors in preview
|
||||||
|
19 | ['upper'] == UPPER_LIST
|
||||||
|
20 | {} == DummyHandler.CONFIG
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ SIM300
|
||||||
|
21 |
|
||||||
|
22 | # Errors in stable
|
||||||
|
|
|
||||||
|
= help: Replace Yoda condition with `DummyHandler.CONFIG == {}`
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
17 17 |
|
||||||
|
18 18 | # Errors in preview
|
||||||
|
19 19 | ['upper'] == UPPER_LIST
|
||||||
|
20 |-{} == DummyHandler.CONFIG
|
||||||
|
20 |+DummyHandler.CONFIG == {}
|
||||||
|
21 21 |
|
||||||
|
22 22 | # Errors in stable
|
||||||
|
23 23 | UPPER_LIST == ['upper']
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user