Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.3.0-beta-1
-
None
Description
If you have an abstract class, and then implement the abstract methods via a trait, eg:
abstract class AbstractSomething { abstract void something() } trait SomethingDoing { void something() { println "Doing something" } } class Something extends AbstractSomething implements SomethingDoing { void foo() { something() } } new Something().foo()
Rather than the expected output Doing something we get:
Can't have an abstract method in a non-abstract class. The class 'Something' must be declared abstract or the method 'void something()' must be implemented.