Failed
org.eclipse.jdt.core.tests.compiler.regression.GenericTypeTest.test1445 - 1.8 (from org.eclipse.jdt.core.tests.compiler.regression.TestAll)
Error Message
test1445 - Eclipse found error(s) but Javac only found warning(s). ----------- Expected ------------ ----------\n 1. WARNING in X.java (at line 8)\n static void bar(List l) {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 2. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 3. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 4. ERROR in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^\n Unhandled exception type Throwable\n ----------\n 5. ERROR in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^^^^^^^^\n Unhandled exception type Throwable\n ----------\n 6. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<RuntimeException>\n ----------\n 7. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<RuntimeException>\n ----------\n 8. WARNING in X.java (at line 11)\n static void baz(List l) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 9. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 10. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 11. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 12. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 13. WARNING in X.java (at line 15)\n X(List l, long l2) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 14. WARNING in X.java (at line 16)\n <IOException> this(l);\n ^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 15. WARNING in X.java (at line 16)\n <IOException> this(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 16. WARNING in X.java (at line 19)\n static void baz2(List l) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 17. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 18. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 19. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 20. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n ------------ but was ------------ X.java:8: warning: [rawtypes] found raw type: List\n static void bar(List l) {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:9: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:9: warning: [unchecked] unchecked conversion\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:9: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:9: warning: [unchecked] unchecked conversion\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:11: warning: [rawtypes] found raw type: List\n static void baz(List l) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:12: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:12: warning: [unchecked] unchecked conversion\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:12: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:12: warning: [unchecked] unchecked conversion\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:15: warning: [rawtypes] found raw type: List\n X(List l, long l2) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:16: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n <IOException> this(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:16: warning: [unchecked] unchecked conversion\n <IOException> this(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:19: warning: [rawtypes] found raw type: List\n static void baz2(List l) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:20: warning: [unchecked] unchecked method invocation: constructor <init> in class <anonymous X$1> is applied to given types\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:20: warning: [unchecked] unchecked conversion\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:20: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:20: warning: [unchecked] unchecked conversion\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n 18 warnings\n --------- Difference is ---------- expected:<[----------\n 1. WARNING in X.java (at line 8)\n static void bar(List l) {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 2. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 3. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 4. ERROR in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^\n Unhandled exception type Throwable\n ----------\n 5. ERROR in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^^^^^^^^\n Unhandled exception type Throwable\n ----------\n 6. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<RuntimeException>\n ----------\n 7. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<RuntimeException>\n ----------\n 8. WARNING in X.java (at line 11)\n static void baz(List l) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 9. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 10. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 11. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 12. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 13. WARNING in X.java (at line 15)\n X(List l, long l2) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 14. WARNING in X.java (at line 16)\n <IOException> this(l);\n ^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 15. WARNING in X.java (at line 16)\n <IOException> this(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 16. WARNING in X.java (at line 19)\n static void baz2(List l) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 17. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 18. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 19. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 20. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------]\n > but was:<[X.java:8: warning: [rawtypes] found raw type: List\n static void bar(List l) {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:9: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:9: warning: [unchecked] unchecked conversion\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:9: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:9: warning: [unchecked] unchecked conversion\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:11: warning: [rawtypes] found raw type: List\n static void baz(List l) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:12: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:12: warning: [unchecked] unchecked conversion\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:12: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:12: warning: [unchecked] unchecked conversion\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:15: warning: [rawtypes] found raw type: List\n X(List l, long l2) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:16: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n <IOException> this(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:16: warning: [unchecked] unchecked conversion\n <IOException> this(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:19: warning: [rawtypes] found raw type: List\n static void baz2(List l) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:20: warning: [unchecked] unchecked method invocation: constructor <init> in class <anonymous X$1> is applied to given types\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:20: warning: [unchecked] unchecked conversion\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:20: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:20: warning: [unchecked] unchecked conversion\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n 18 warnings]\n >
Stacktrace
junit.framework.ComparisonFailure: test1445 - Eclipse found error(s) but Javac only found warning(s). ----------- Expected ------------ ----------\n 1. WARNING in X.java (at line 8)\n static void bar(List l) {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 2. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 3. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 4. ERROR in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^\n Unhandled exception type Throwable\n ----------\n 5. ERROR in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^^^^^^^^\n Unhandled exception type Throwable\n ----------\n 6. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<RuntimeException>\n ----------\n 7. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<RuntimeException>\n ----------\n 8. WARNING in X.java (at line 11)\n static void baz(List l) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 9. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 10. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 11. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 12. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 13. WARNING in X.java (at line 15)\n X(List l, long l2) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 14. WARNING in X.java (at line 16)\n <IOException> this(l);\n ^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 15. WARNING in X.java (at line 16)\n <IOException> this(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 16. WARNING in X.java (at line 19)\n static void baz2(List l) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 17. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 18. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 19. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 20. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n ------------ but was ------------ X.java:8: warning: [rawtypes] found raw type: List\n static void bar(List l) {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:9: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:9: warning: [unchecked] unchecked conversion\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:9: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:9: warning: [unchecked] unchecked conversion\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:11: warning: [rawtypes] found raw type: List\n static void baz(List l) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:12: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:12: warning: [unchecked] unchecked conversion\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:12: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:12: warning: [unchecked] unchecked conversion\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:15: warning: [rawtypes] found raw type: List\n X(List l, long l2) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:16: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n <IOException> this(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:16: warning: [unchecked] unchecked conversion\n <IOException> this(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:19: warning: [rawtypes] found raw type: List\n static void baz2(List l) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:20: warning: [unchecked] unchecked method invocation: constructor <init> in class <anonymous X$1> is applied to given types\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:20: warning: [unchecked] unchecked conversion\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:20: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:20: warning: [unchecked] unchecked conversion\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n 18 warnings\n --------- Difference is ---------- expected:<[----------\n 1. WARNING in X.java (at line 8)\n static void bar(List l) {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 2. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 3. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 4. ERROR in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^\n Unhandled exception type Throwable\n ----------\n 5. ERROR in X.java (at line 9)\n new X(l).foo(l);\n ^^^^^^^^^^^^^^^\n Unhandled exception type Throwable\n ----------\n 6. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<RuntimeException>\n ----------\n 7. WARNING in X.java (at line 9)\n new X(l).foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<RuntimeException>\n ----------\n 8. WARNING in X.java (at line 11)\n static void baz(List l) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 9. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 10. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 11. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 12. WARNING in X.java (at line 12)\n new <IOException> X(l). <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 13. WARNING in X.java (at line 15)\n X(List l, long l2) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 14. WARNING in X.java (at line 16)\n <IOException> this(l);\n ^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 15. WARNING in X.java (at line 16)\n <IOException> this(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 16. WARNING in X.java (at line 19)\n static void baz2(List l) throws IOException {\n ^^^^\n List is a raw type. References to generic type List<E> should be parameterized\n ----------\n 17. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation X(List) of the generic constructor X(List<T>) of type X\n ----------\n 18. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation foo(List) of the generic method foo(List<T>) of type X\n ----------\n 19. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------\n 20. WARNING in X.java (at line 20)\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n Type safety: The expression of type List needs unchecked conversion to conform to List<IOException>\n ----------]\n > but was:<[X.java:8: warning: [rawtypes] found raw type: List\n static void bar(List l) {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:9: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:9: warning: [unchecked] unchecked conversion\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:9: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:9: warning: [unchecked] unchecked conversion\n new X(l).foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:11: warning: [rawtypes] found raw type: List\n static void baz(List l) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:12: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:12: warning: [unchecked] unchecked conversion\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:12: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:12: warning: [unchecked] unchecked conversion\n new <IOException> X(l). <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:15: warning: [rawtypes] found raw type: List\n X(List l, long l2) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:16: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types\n <IOException> this(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:16: warning: [unchecked] unchecked conversion\n <IOException> this(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:19: warning: [rawtypes] found raw type: List\n static void baz2(List l) throws IOException {\n ^\n missing type arguments for generic class List<E>\n where E is a type-variable:\n E extends Object declared in interface List\n X.java:20: warning: [unchecked] unchecked method invocation: constructor <init> in class <anonymous X$1> is applied to given types\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:20: warning: [unchecked] unchecked conversion\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in constructor <T>X(List<T>)\n X.java:20: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n X.java:20: warning: [unchecked] unchecked conversion\n new <IOException> X(l){}. <IOException> foo(l);\n ^\n required: List<T>\n found: List\n where T is a type-variable:\n T extends Throwable declared in method <T>foo(List<T>)\n 18 warnings]\n > at org.eclipse.jdt.core.tests.compiler.regression.GenericTypeTest.test1445(GenericTypeTest.java:50899)
Standard Output
org.eclipse.jdt.core.tests.compiler.regression.GenericTypeTest#test1445 - 1.8 X.java [ import java.io.IOException; import java.util.List; public class X { <T extends Throwable> X(List<T> lt) throws T { } <T extends Throwable> List<T> foo(List<T> t) throws T { return t; } static void bar(List l) { new X(l).foo(l); } static void baz(List l) throws IOException { new <IOException> X(l). <IOException> foo(l); } X(List l, long l2) throws IOException { <IOException> this(l); } static void baz2(List l) throws IOException { new <IOException> X(l){}. <IOException> foo(l); } } ] Full results sent to /home/jenkins/agent/workspace/eclipse.jdt.core-run.javac-1.8/tmp/comptest/run.1584479137560/1.8.0_202_20200317_210541.txt
Standard Error
--- javac err: --- X.java:8: warning: [rawtypes] found raw type: List static void bar(List l) { ^ missing type arguments for generic class List<E> where E is a type-variable: E extends Object declared in interface List X.java:9: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types new X(l).foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in constructor <T>X(List<T>) X.java:9: warning: [unchecked] unchecked conversion new X(l).foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in constructor <T>X(List<T>) X.java:9: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types new X(l).foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in method <T>foo(List<T>) X.java:9: warning: [unchecked] unchecked conversion new X(l).foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in method <T>foo(List<T>) X.java:11: warning: [rawtypes] found raw type: List static void baz(List l) throws IOException { ^ missing type arguments for generic class List<E> where E is a type-variable: E extends Object declared in interface List X.java:12: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types new <IOException> X(l). <IOException> foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in constructor <T>X(List<T>) X.java:12: warning: [unchecked] unchecked conversion new <IOException> X(l). <IOException> foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in constructor <T>X(List<T>) X.java:12: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types new <IOException> X(l). <IOException> foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in method <T>foo(List<T>) X.java:12: warning: [unchecked] unchecked conversion new <IOException> X(l). <IOException> foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in method <T>foo(List<T>) X.java:15: warning: [rawtypes] found raw type: List X(List l, long l2) throws IOException { ^ missing type arguments for generic class List<E> where E is a type-variable: E extends Object declared in interface List X.java:16: warning: [unchecked] unchecked method invocation: constructor <init> in class X is applied to given types <IOException> this(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in constructor <T>X(List<T>) X.java:16: warning: [unchecked] unchecked conversion <IOException> this(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in constructor <T>X(List<T>) X.java:19: warning: [rawtypes] found raw type: List static void baz2(List l) throws IOException { ^ missing type arguments for generic class List<E> where E is a type-variable: E extends Object declared in interface List X.java:20: warning: [unchecked] unchecked method invocation: constructor <init> in class <anonymous X$1> is applied to given types new <IOException> X(l){}. <IOException> foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in constructor <T>X(List<T>) X.java:20: warning: [unchecked] unchecked conversion new <IOException> X(l){}. <IOException> foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in constructor <T>X(List<T>) X.java:20: warning: [unchecked] unchecked method invocation: method foo in class X is applied to given types new <IOException> X(l){}. <IOException> foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in method <T>foo(List<T>) X.java:20: warning: [unchecked] unchecked conversion new <IOException> X(l){}. <IOException> foo(l); ^ required: List<T> found: List where T is a type-variable: T extends Throwable declared in method <T>foo(List<T>) 18 warnings ----------------------------------------