Closed
Description
Compiler version
3.0.0-3.4.1-RC1
Minimized example
trait Base {
def func(): Unit
}
class Derived extends Base {
def func(): Unit
}
Output Error/Warning message
class Derived needs to be abstract, since:
it has 2 unimplemented members.
/** As seen from class Derived, the missing signatures are as follows.
* For convenience, these are usable as stub implementations.
*/
// Members declared in Base
def func(): Unit = ???
// Members declared in Derived
def func(): Unit = ???
class Derived extends Base {
Why this Error/Warning was not helpful
The message was unhelpful because it lists the same function twice. When using this as a stub for implementation, you need to remove it. This is esp. confusing when there are many methods to be implemented.
Suggested improvement
It could be made more helpful by listing each method overload only once. e.g.:
class Derived needs to be abstract, since:
it has 1 unimplemented member.
/** As seen from class Derived, the missing signatures are as follows.
* For convenience, these are usable as stub implementations.
*/
// Members declared in Base
def func(): Unit = ???
class Derived extends Base {