Maurizio Cimadamore c03dd06d9a 8074381: java.lang.AssertionError during compiling
Add extra functional interface check to prevent crash during code generation

Reviewed-by: vromero
2015-03-19 11:39:36 +00:00

34 lines
776 B
Java

/*
* @test /nodynamiccopyright/
* @bug 8074381
* @summary java.lang.AssertionError during compiling
* @compile/fail/ref=T8074381a.out -XDrawDiagnostics T8074381a.java
*/
class T8074381a {
interface Sup<X> {
boolean m(X x);
}
interface Sub<X> extends Sup<String> {
boolean m(String s);
}
void testRaw() {
Sub s1 = c -> true;
Sub s2 = Boolean::new;
Sub s3 = new Sub() {
@Override
public boolean m(String o) { return true; }
};
}
void testNonRaw() {
Sub<Integer> s1 = c -> true;
Sub<Integer> s2 = Boolean::new;
Sub<Integer> s3 = new Sub<Integer>() {
@Override
public boolean m(String o) { return true; }
};
}
}