Skip to content

Commit 712e5d0

Browse files
committed
add extra comments
1 parent 0bac80a commit 712e5d0

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

compiler/src/dotty/tools/dotc/typer/Checking.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1080,7 +1080,8 @@ trait Checking {
10801080
report.error(em"$what can only be used in an inline method", pos)
10811081

10821082
/** 1. Check that all case classes that extend `scala.Enum` are `enum` cases
1083-
* 2. Check that case class `enum` cases do not extend java.lang.Enum.
1083+
* 2. Check that parameterised `enum` cases do not extend java.lang.Enum.
1084+
* 3. Check that only a static `enum` base class can extend java.lang.Enum.
10841085
*/
10851086
def checkEnum(cdef: untpd.TypeDef, cls: Symbol, firstParent: Symbol)(using Context): Unit = {
10861087
def isEnumAnonCls =

tests/neg/extend-java-enum-nonstatic.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,7 @@ object Wrap:
1616
trait Universe:
1717
enum E extends jl.Enum[E] { case A } // error: enum extending java.lang.Enum must be declared in a static scope
1818

19+
enum E extends jl.Enum[E] { case A } // ok, a declaration at package level is static.
20+
1921
object Static:
20-
enum E extends jl.Enum[E] { case A } // ok
22+
enum E extends jl.Enum[E] { case A } // ok, a declaration within a static object is static.

0 commit comments

Comments
 (0)