summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan@lightbend.com>2017-02-20 13:57:59 -0800
committerGitHub <noreply@github.com>2017-02-20 13:57:59 -0800
commite21ab425880b7c3fa4cca3c9503045823d250025 (patch)
tree719033d655c94736a1acb1702ff9df45c10d4740 /spec
parente87a43615d2d20300190057ec16109f094d59092 (diff)
parenta6dccebef268ace8151f38b3bac4a5b03f891d4c (diff)
downloadscala-e21ab425880b7c3fa4cca3c9503045823d250025.tar.gz
scala-e21ab425880b7c3fa4cca3c9503045823d250025.tar.bz2
scala-e21ab425880b7c3fa4cca3c9503045823d250025.zip
Merge pull request #5660 from som-snytt/issue/9464-spec
SI-9464 Clarify spec on no final trait
Diffstat (limited to 'spec')
-rw-r--r--spec/05-classes-and-objects.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/spec/05-classes-and-objects.md b/spec/05-classes-and-objects.md
index 6738c7a5b7..5bd520589d 100644
--- a/spec/05-classes-and-objects.md
+++ b/spec/05-classes-and-objects.md
@@ -597,10 +597,12 @@ overridden in subclasses. A `final` class may not be inherited by
a template. `final` is redundant for object definitions. Members
of final classes or objects are implicitly also final, so the
`final` modifier is generally redundant for them, too. Note, however, that
-[constant value definitions](04-basic-declarations-and-definitions.html#value-declarations-and-definitions) do require
-an explicit `final` modifier, even if they are defined in a final class or
-object. `final` may not be applied to incomplete members, and it may not be
-combined in one modifier list with `sealed`.
+[constant value definitions](04-basic-declarations-and-definitions.html#value-declarations-and-definitions)
+do require an explicit `final` modifier,
+even if they are defined in a final class or object.
+`final` is permitted for abstract classes
+but it may not be applied to traits or incomplete members,
+and it may not be combined in one modifier list with `sealed`.
### `sealed`
The `sealed` modifier applies to class definitions. A