docs/_docs/reference/error-codes/E064.md
This error is emitted when abstract override is used on a member outside of a trait.
The abstract override modifier is only allowed for members of traits. It indicates that the member will override a concrete member from a superclass but requires further implementation when the trait is mixed into a class.
class Base:
def greet: String = "Hello"
class Child extends Base:
abstract override def greet: String = super.greet + "!"
-- [E064] Syntax Error: example.scala:5:24 -------------------------------------
5 | abstract override def greet: String = super.greet + "!"
| ^
| abstract override modifier only allowed for members of traits
// Use abstract override in a trait
class Base:
def greet: String = "Hello"
trait Greeter extends Base:
abstract override def greet: String = super.greet + "!"
class Child extends Base with Greeter
// Or use a regular override in a class
class Base:
def greet: String = "Hello"
class Child extends Base:
override def greet: String = super.greet + "!"