abstract method in indirect superclass

Stephan Herrmann stephan.herrmann at berlin.de
Sun Jul 7 08:03:40 PDT 2013

On 07/07/2013 04:44 PM, Remi Forax wrote:
 > I don't see how this can compile despite the fact that both eclipse and javac
 > are happy with this code :(

In fact this surfaced because a recent clean-up in ecj incidentally
changed this behavior so in 4.3 we no longer accept such code.

 > foo(A) does not override foo(T2) if by example T2 is B so it should result in a name clash.

I don't think this part is at stake.
The signature of foo(A) is a subsignature of the signature of foo(T2)
because the former equals the erasure of the latter.

Only what's going on in X3 is unclear in JLS7. My questions are
whether the change made for JSR 335 has been made consciously and
whether any changes should be made to compilers for Java 7-.


More information about the lambda-spec-experts mailing list