
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
48 lines
906 B
Plaintext
48 lines
906 B
Plaintext
== Why is this an issue?
|
|
|
|
Because ``++case++`` statements in a Swift ``++switch++`` do not fall through, there is no need to use ``++break++`` at the end of a ``++case++`` unless it would otherwise be empty. Since an empty ``++case++`` isn't allowed, an explicit ``++break++`` is needed to make such code compilable. There is no other reason to use ``++break++`` in a ``++case++``.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,swift]
|
|
----
|
|
switch weekday {
|
|
case sunday:
|
|
break
|
|
case monday:
|
|
getUpEarly()
|
|
break // Noncompliant
|
|
case tuesday
|
|
// ...
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,swift]
|
|
----
|
|
switch weekday {
|
|
case sunday:
|
|
break
|
|
case monday:
|
|
getUpEarly()
|
|
case tuesday
|
|
// ...
|
|
}
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Remove this extraneous "break".
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|