E125: Class Cannot Extend Enum
This error is emitted when a class attempts to extend an enum.
In Scala 3, enums are sealed by design and can only be extended by their defined cases within the same enum declaration. External classes cannot extend enums.
Example
enum Color:
case Red, Green, Blue
class CustomColor extends Color
Error
-- [E125] Syntax Error: example.scala:4:6 --------------------------------------
4 |class CustomColor extends Color
|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|class CustomColor in package <empty> extends enum Color, but extending enums is prohibited.
Solution
// Add new cases within the enum definition
enum Color:
case Red, Green, Blue
case Custom(rgb: Int)
// Or use a sealed trait if you need external extensibility
sealed trait Color
object Color:
case object Red extends Color
case object Green extends Color
case object Blue extends Color
case class CustomColor(rgb: Int) extends Color
In this article