Description
I found this bug by trying to open up the latest version of SIS inside of Eclipse. Per desruisseaux:
Eclipse doesn't use the Sun/Oracle javac compiler. It uses its own compiler instead, which doesn't behave exactly the same way. I have seen 3 or 4 similar situations in the past, where the Eclipse and Sun compilers were in disagreement. However I do not remember having seen a case where the Eclipse compiler was right...
In this particular case, the Eclipse compiler complains about that line:
c = FallbackConverter.merge(c, new StringConverter.Long());
The 'merge' method expect two arguments of type:
ObjectConverter<S, ? extends T> ObjectConverter<S, ? extends T>
The types that we are actually providing are:
ObjectConverter<String, ?> ObjectConverter<String, Long>
If we understand <?> as synonymous to <? extends Object>, the above is
right as far as I can see. But maybe Eclipse wants it to be specified
explicitly. could you try to edit line 63 please, replacing the
<String,?> by <String,? extends Object>.