Create rule S1862: Related "if/else if" statements should not have the same condition (#4687)

* Add rust to rule S1862

* Add rule description

* Fix errors

* Add link to Clippy lint

---------

Co-authored-by: sallaigy <sallaigy@users.noreply.github.com>
Co-authored-by: Gyula Sallai <gyula.sallai@sonarsource.com>
Co-authored-by: yassin-kammoun-sonarsource <yassin.kammoun@sonarsource.com>
This commit is contained in:
github-actions[bot] 2025-03-19 15:22:56 +00:00 committed by GitHub
parent 164b14aedc
commit 74068df10a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 61 additions and 1 deletions

View File

@ -1,4 +1,3 @@
== Why is this an issue? == Why is this an issue?
include::description.adoc[] include::description.adoc[]

View File

@ -0,0 +1,8 @@
{
"title": "Related \"if\/else if\" statements should not have the same condition",
"tags": [
"clippy",
"unused",
"pitfall"
]
}

View File

@ -0,0 +1,53 @@
== Why is this an issue?
include::../description.adoc[]
=== Noncompliant code example
[source,rust,diff-id=1,diff-type=noncompliant]
----
if param == 1 {
openWindow();
} else if param == 2 {
closeWindow();
} else if param == 1 { // Noncompliant
moveWindowToTheBackground();
}
----
=== Compliant solution
[source,rust,diff-id=1,diff-type=compliant]
----
if param == 1 {
openWindow();
} else if param == 2 {
closeWindow();
} else if param == 3 {
moveWindowToTheBackground();
}
----
== Resources
=== Documentation
* Clippy Lints - https://rust-lang.github.io/rust-clippy/master/index.html#ifs_same_cond
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
include::../highlighting.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]