Skip to content

Commit dafbdc5

Browse files
committed
Move conditions around
1 parent 4aec62d commit dafbdc5

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

crates/ruff_linter/src/rules/pyupgrade/rules/native_literals.rs

+12-15
Original file line numberDiff line numberDiff line change
@@ -198,28 +198,31 @@ pub(crate) fn native_literals(
198198
checker.diagnostics.push(diagnostic);
199199
}
200200
Some(arg) => {
201-
let (literal_expr, unary) = if let Some(literal_expr) = arg.as_literal_expr() {
202-
(literal_expr, false)
201+
let literal_expr = if let Some(literal_expr) = arg.as_literal_expr() {
202+
// Skip implicit concatenated strings.
203+
if literal_expr.is_implicit_concatenated() {
204+
return;
205+
} else {
206+
literal_expr
207+
}
203208
} else if let Expr::UnaryOp(ast::ExprUnaryOp {
204209
op: UnaryOp::UAdd | UnaryOp::USub,
205210
operand,
206211
..
207212
}) = arg
208213
{
209-
if let Some(literal_expr) = operand.as_literal_expr() {
210-
(literal_expr, true)
214+
if let Some(literal_expr) = operand
215+
.as_literal_expr()
216+
.filter(|expr| matches!(expr, LiteralExpressionRef::NumberLiteral(_)))
217+
{
218+
literal_expr
211219
} else {
212220
return;
213221
}
214222
} else {
215223
return;
216224
};
217225

218-
// Skip implicit string concatenations.
219-
if literal_expr.is_implicit_concatenated() {
220-
return;
221-
}
222-
223226
let Ok(arg_literal_type) = LiteralType::try_from(literal_expr) else {
224227
return;
225228
};
@@ -228,12 +231,6 @@ pub(crate) fn native_literals(
228231
return;
229232
}
230233

231-
if unary {
232-
if !matches!(literal_type, LiteralType::Int | LiteralType::Float) {
233-
return;
234-
}
235-
}
236-
237234
let arg_code = checker.locator().slice(arg);
238235

239236
// Attribute access on an integer requires the integer to be parenthesized to disambiguate from a float

0 commit comments

Comments
 (0)