Diamond operator no longer working... ?
    assembling signals 
    assembling.signals at yandex.ru
       
    Fri Mar 18 17:01:17 UTC 2011
    
    
  
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();
			}
		};
	}
}
    
    
More information about the core-libs-dev
mailing list