RS.CLIPPY.SAME_FUNCTIONS_IN_IF_CONDITION
Consecutive `if`s with the same function call
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: same_functions_in_if_condition. Copyright ©2025 The Rust Team. All rights reserved.
What it does
Checks for consecutive ifs with the same function call.
Why is this bad?
This is probably a copy & paste error.
Despite the fact that function can have side effects and if works as
intended, such an approach is implicit and can be considered a "code smell".
Example
if foo() == bar {
...
} else if foo() == bar {
...
}
This probably should be:
if foo() == bar {
...
} else if foo() == baz {
...
}
or if the original code was not a typo and called function mutates a state,
consider move the mutation out of the if condition to avoid similarity to
a copy & paste error:
let first = foo();
if first == bar {
...
} else {
let second = foo();
if second == bar {
...
}
}