== Why is this an issue?

Having all branches of a `match` or `if` chain with the same implementation indicates a problem.

In the following code:

[source,scala]
----
if (b == 0) { // Noncompliant
  doSomething
} else {
  doSomething
}

i match { // Noncompliant
  case 1 => doSomething
  case 2 => doSomething
  case 3 => doSomething
  case _ => doSomething
}
----

Either there is a copy-paste error that needs fixing or an unnecessary `match` or `if` chain that needs removing.

=== Exceptions

This rule does not apply to `if` chains without `else`, nor to `match` without a `case _` alternative.


[source,scala]
----
if (b == 0) {
  doSomething
} else if (b == 1) {
  doSomething
}
----

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[]
