hg: lambda/lambda/langtools: 8016175: Add bottom-up type-checking support for unambiguous method references
Ali Ebrahimi
ali.ebrahimi1781 at gmail.com
Fri Jun 28 09:59:04 PDT 2013
Hi Maurizio,
In test MethodReference71 I don't get why g(this::m2) is ambiguous.
please clarify this for me. thanks in advance.
+class MethodReference71 {
+ interface F<X> {
+ void m(X x);
+ }
+
+ interface G<X> {
+ Integer m(X x);
+ }
+
+ void m1(Integer i) { }
+ void m2(Integer... i) { }
+
+ <Z> void g(F<Z> f) { }
+ <Z> void g(G<Z> g) { }
+
+ void test() {
+ g(this::m1); //ok
+ g(this::m2); //ambiguous (stuck!)
+ }
+}
Ali Ebrahimi
On Fri, Jun 28, 2013 at 3:26 PM, <maurizio.cimadamore at oracle.com> wrote:
> Changeset: eda4ff70411f
> Author: mcimadamore
> Date: 2013-06-28 11:54 +0100
> URL:
> http://hg.openjdk.java.net/lambda/lambda/langtools/rev/eda4ff70411f
>
> 8016175: Add bottom-up type-checking support for unambiguous method
> references
>
> ! src/share/classes/com/sun/tools/javac/comp/Attr.java
> ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
> ! src/share/classes/com/sun/tools/javac/comp/Infer.java
> ! src/share/classes/com/sun/tools/javac/comp/Resolve.java
> + test/tools/javac/lambda/MethodReference68.java
> + test/tools/javac/lambda/MethodReference68.out
> + test/tools/javac/lambda/MethodReference69.java
> + test/tools/javac/lambda/MethodReference69.out
> + test/tools/javac/lambda/MethodReference70.java
> + test/tools/javac/lambda/MethodReference70.out
> + test/tools/javac/lambda/MethodReference71.java
> + test/tools/javac/lambda/MethodReference71.out
> ! test/tools/javac/lambda/TargetType60.out
>
>
>
More information about the lambda-dev
mailing list