Reports functions that override abstract members but do not have an override modifier.

Scala does not require a developer to use override on methods that implement abstract members. Nonetheless, it is a good idea to mark such methods with override to be notified by the compiler when the override relationship gets broken (by a subsequent refactoring, for example).

Example:


  trait Base {
    def fun(): Int
  }

  class Impl extends Base {
    def fun(): Int = 42
  }

After the quick-fix is applied:


  trait Base {
    def fun(): Int
  }

  class Impl extends Base {
    override def fun(): Int = 42
  }