javac failure
Jonathan Gibbons
jonathan.gibbons at oracle.com
Fri Sep 10 10:06:50 PDT 2010
cc: compiler-dev
-- Jon
On 09/10/2010 09:58 AM, Dr Andrew John Hughes wrote:
> When running the attached test case (thanks to Deepak Bhole) through javac, we found it fails with:
>
> Test.java:14: incompatible types; inferred type argument(s) java.lang.Object do not conform to bounds of type variable(s) T
> found :<T>java.util.ArrayList<java.lang.String>
> required: java.util.ArrayList<java.lang.String>
> ArrayList<String> l = test(new ArrayList<String>());
> ^
> 1 error
>
> On both the proprietary Oracle JDK and OpenJDK7, this file compiles.
>
> By backporting the following changesets:
>
> changeset: 298:22872b24d38c
> user: mcimadamore
> date: Tue Jun 16 10:46:37 2009 +0100
> summary: 6638712: Inference with wildcard types causes selection of inapplicable method
>
> changeset: 395:dda7e13f09fb
> user: mcimadamore
> date: Tue Sep 01 14:53:39 2009 +0100
> summary: 6650759: Inference of formal type parameter (unused in formal parameters) is not performed
>
> (6650759 is dependent on the changes in 6638712)
>
> we managed to get the file to compile.
>
> A webrev of 6638712 is available at:
>
> http://cr.openjdk.java.net/~andrew/6638712/webrev.01/
>
> and 6650759 will follow if appropriate.
>
> The following minor changes had to be made to 6638712 to work with current OpenJDK javac:
>
> * The use of Types.createErrorType was replaced with Types.errType as in other cases in that file.
> This avoids the need to backport:
>
> changeset: 109:91eea580fbe9
> parent: 106:5a9b808557b6
> user: jjg
> date: Tue Sep 09 10:28:21 2008 -0700
> summary: 6557752: Original type of an AST should be made available even if it is replaced with an ErrorType
>
> but that can be done too if necessary.
>
> * The final variable invalidInstanceException was initialised.
> * The test case output was changed to match that output by patched OpenJDK6 (which is similar but not identical).
> * The test case code files were updated as in:
>
> changeset: 383:ed31953ca025
> user: jjg
> date: Thu Aug 27 11:08:27 2009 -0700
> summary: 6875336: some tests should use /nodynamiccopyright/
>
> so as to avoid introducing Sun copyright headers.
>
> Ok to push this backport to OpenJDK6? Or do you have a simpler solution for fixing this issue?
>
> Thanks,
>
More information about the compiler-dev
mailing list