mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 10:04:42 +02:00
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:
parent
10fb266571
commit
9798cbad4c
18 changed files with 393 additions and 119 deletions
21
langtools/test/tools/javac/lambda/MostSpecific13.java
Normal file
21
langtools/test/tools/javac/lambda/MostSpecific13.java
Normal 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; }
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue