Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.2.2, 2.3.0-rc-1
-
None
-
None
Description
The following code fails to compile:
abstract class Top<Elem,Result> { abstract Result exec(Elem... elems) } class Bottom extends Top<Integer, String> { @Override String exec(Integer... elems) { "$elems" } }
Under 2.3.0-rc-1, it produces:
2 compilation errors: Can't have an abstract method in a non-abstract class. The class 'Bottom' must be declared abstract or the method 'java.lang.Object exec(java.lang.Object[])' must be implemented. at line: 5, column: 1 Method 'exec' from class 'Bottom' does not override method from its superclass or interfaces but is annotated with @Override. at line: 6, column: 5
Under 2.2.2:
1 compilation error: Can't have an abstract method in a non-abstract class. The class 'Bottom' must be declared abstract or the method 'java.lang.Object exec(java.lang.Object[])' must be implemented. at line: 5, column: 1