Hello, community!
I noticed a new error since b134: "Cannot use '<>' with anonymous inner
classes".
The code uses diamond syntax and was error-free before b134.
(Please see reproducible example at the end.)
Can someone explain: is this error even intended?
If so, why this is necessary? If not, is it possible to revert to old behavior?
(BTW: Latest Netbeans even allow to refactor anon-inner-classes to use diamond
syntax.)
Best regards,
Ivan G Shevchenko
= = = = = = = = = =
EXAMPLE CODE:
= = = = = = = = = =
import java.util.*;
public final class DiamondTestJdkBuild134 {
public static void main(String... args) {
// no error
List<String> l = new LinkedList<>();
// error: cannot infer type arguments for Iterator;
// reason: cannot use '<>' with anonymous inner classes
Iterator<String> i = new Iterator<>() {
@Override
public boolean hasNext() {
return false;
}
@Override
public String next() {
return null;
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
};
}
}