8034223: Most-specific should not have any special treatment for boxed vs. unboxed types

Rewrite most-specific logic to conform to JLS 8 15.12.2.5

Reviewed-by: vromero
This commit is contained in:
Dan Smith 2014-05-13 15:29:09 -06:00
parent 10fb266571
commit 9798cbad4c
18 changed files with 393 additions and 119 deletions

View file

@ -0,0 +1,21 @@
/*
* @test /nodynamiccopyright/
* @bug 8034223
* @summary Most-specific testing with inference variables in function parameter types
* @compile/fail/ref=MostSpecific13.out -XDrawDiagnostics MostSpecific13.java
*/
class MostSpecific13 {
interface UnaryOp<T> { T apply(T arg); }
interface IntegerToNumber { Number apply(Integer arg); }
<T> void m(UnaryOp<T> f) {}
void m(IntegerToNumber f) {}
void test() {
m((Integer i) -> i); // error
m(this::id); // error
}
Integer id(Integer arg) { return arg; }
}