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();
                        }

                };
        }

}

Reply via email to