diff options
Diffstat (limited to 'src/tools/clippy/src/docs/same_functions_in_if_condition.txt')
-rw-r--r-- | src/tools/clippy/src/docs/same_functions_in_if_condition.txt | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/tools/clippy/src/docs/same_functions_in_if_condition.txt b/src/tools/clippy/src/docs/same_functions_in_if_condition.txt new file mode 100644 index 000000000..a0a90eec6 --- /dev/null +++ b/src/tools/clippy/src/docs/same_functions_in_if_condition.txt @@ -0,0 +1,41 @@ +### What it does +Checks for consecutive `if`s 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 { + … + } +} +```
\ No newline at end of file |