method refs: decline constructor refs on array ref with inapplicable substitutor

This commit is contained in:
anna
2013-02-26 18:24:55 +01:00
parent 23056b8d20
commit 7333331a42
2 changed files with 14 additions and 1 deletions

View File

@@ -21,7 +21,9 @@ class OnArrayTest {
String _(T[] ta);
}
interface ArrayReturnType<T> {
T make(int size);
}
public static void main(String[] args) {
Cln s = int[]::clone;
@@ -29,5 +31,9 @@ class OnArrayTest {
<error descr="Incompatible types. Found: '<method reference>', required: 'OnArrayTest.I'">I i = int[]::new;</error>
<error descr="Incompatible types. Found: '<method reference>', required: 'OnArrayTest.Len<java.lang.String>'">Len<String> strLen = String[]::length;</error>
ToStr<Integer> toStr = Integer[]::toString;
ArrayReturnType<String[]> a1 = String[]::new;
ArrayReturnType<String[][]> a2 = String[][]::new;
<error descr="Incompatible types. Found: '<method reference>', required: 'OnArrayTest.ArrayReturnType<java.lang.String[]>'">ArrayReturnType<String[]> a3 = int[]::new;</error>
}
}