Java 8 compiler bug?
Jonathan Gibbons
jonathan.gibbons at oracle.com
Tue Nov 15 23:54:52 UTC 2016
Can you simplify your example down to something that doesn't require us
to download a zip file?
-- Jon
On 11/15/2016 03:49 PM, Oliver Gierke wrote:
> Sorry, I forgot the link to the reproducing example:
>
> https://dl.dropboxusercontent.com/u/25310722/compiler-ambiguity.zip
>
>> Anfang der weitergeleiteten Nachricht:
>>
>> Von: Oliver Gierke <ogierke at pivotal.io>
>> Betreff: Java 8 compiler bug?
>> Datum: 16. November 2016 um 00:46:02 MEZ
>> An: compiler-dev at openjdk.java.net
>>
>> Hi all,
>>
>> I just ran in this code compiling fine with a JDK 8 if I define a compilation source and target of 1.6, but not if I define both values of 1.8.
>>
>> public class Ambiguity {
>>
>> public void foo(CriteriaBuilder builder) {
>>
>> Expression<Object> objectExpression = null;
>> Expression<Collection<Object>> collectionOfObjectExpression = null;
>> builder.isNotMember(objectExpression, collectionOfObjectExpression);
>> // ^^^^^^^^^^^ - ambiguous
>> }
>> }
>>
>> CriteriaBuilder and all other types come from JPA. The method in question has two overloads:
>>
>> <E, C extends Collection<E>> Predicate isNotMember(Expression<E> elem, Expression<C> collection);
>> <E, C extends Collection<E>> Predicate isNotMember(E elem, Expression<C> collection);
>>
>> I fail to understand why the second method is even considered as that create a contradiction between the bound values of E (Expression<…>) and C (Collection<Object>).
>>
>> I've prepared an example here [0]. Steps to reproduce:
>>
>> 1. Unzip
>> 2. Run mvn clean compile -> fails
>> 3. Change java.version property in pom.xml to 1.6
>> 4. Run mvn clean compile -> succeeds
>>
>> $ java -version
>> java version "1.8.0_112"
>> Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
>> Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
>>
>> Is that a known issue, something I oversee or should I create a ticket for that?
>>
>> Cheers,
>> Ollie
>>
> --
> /**
> * @author Oliver Gierke - Senior Software Engineer
> *
> * @param email ogierke at pivotal.io
> * @param phone +49-151-50465477
> * @param fax +49-351-418898439
> * @param skype einsdreizehn
> * @see http://www.olivergierke.de
> */
>
More information about the compiler-dev
mailing list