Lambda and intersection types
Boaz Nahum
boaznahum at gmail.com
Mon Nov 12 11:45:29 PST 2012
The follwing simple code ...
====================================
interface I1 {void f();}
interface I2 {
void printMe()default { System.out.println("I2");}
void f();
}
public static void main(String[] args) {
I2 i2 = (I1 & I2) () -> {};
System.out.println( "i2 is I2=" + (i2 instanceof I2));
i2.printMe();
}
=================================
Output is:
-------------------------------------
i2 is I2=false
Exception in thread "main" java.lang.IncompatibleClassChangeError: Class
question.lambda_intersection_types.Q$$Lambda$2 does not implement the
requested interface question.lambda_intersection_types.I2
-------------------------------------
What is the correct behavior ?
More information about the lambda-dev
mailing list