== Why is this an issue?

Any statement or block of statements can be identified by a label, but those labels should be used only on ``++while++``, ``++do-while++`` and ``++for++`` statements. Using labels in any other context leads to unstructured, confusing code.


=== Noncompliant code example

[source,flex]
----
myLabel:if (i % 2 == 0) {  // Noncompliant
  if (i == 12) {
    print("12");
    break myLabel;
  }
  print("Odd number, but not 12");
}
----


=== Compliant solution

[source,flex]
----
myLabel:for (i = 0; i < 10; i++) {   // Compliant
  print("Loop");
  break myLabel;
}
----


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
