Failed
org.eclipse.jdt.core.tests.compiler.regression.NullTypeAnnotationTest.testBug499589BTBqualified - 1.8 (from org.eclipse.jdt.core.tests.compiler.regression.TestAll)
Error Message
testBug499589BTBqualified - Javac found warning(s) but Eclipse did not find any. ----------- Expected ------------ ------------ but was ------------ test/X.java:22: warning: [rawtypes] found raw type: Ref\n public final test.Ref<test.A.B[][]>[][] genericField = new Ref[0][];\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n test/X.java:23: warning: [rawtypes] found raw type: Ref\n public final test.@Nullable Ref<test.A.@Nullable B[][]>[][] genericFieldWithNullable1 = new Ref[0][];;\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n test/X.java:24: warning: [rawtypes] found raw type: Ref\n public final test.Ref<test.A.B[] @Nullable []>[] @Nullable[] genericFieldWithNullable2 = new Ref[0][];;\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n 3 warnings\n --------- Difference is ---------- expected:<[]> but was:<[test/X.java:22: warning: [rawtypes] found raw type: Ref\n public final test.Ref<test.A.B[][]>[][] genericField = new Ref[0][];\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n test/X.java:23: warning: [rawtypes] found raw type: Ref\n public final test.@Nullable Ref<test.A.@Nullable B[][]>[][] genericFieldWithNullable1 = new Ref[0][];;\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n test/X.java:24: warning: [rawtypes] found raw type: Ref\n public final test.Ref<test.A.B[] @Nullable []>[] @Nullable[] genericFieldWithNullable2 = new Ref[0][];;\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n 3 warnings\n ]>
Stacktrace
junit.framework.ComparisonFailure: testBug499589BTBqualified - Javac found warning(s) but Eclipse did not find any. ----------- Expected ------------ ------------ but was ------------ test/X.java:22: warning: [rawtypes] found raw type: Ref\n public final test.Ref<test.A.B[][]>[][] genericField = new Ref[0][];\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n test/X.java:23: warning: [rawtypes] found raw type: Ref\n public final test.@Nullable Ref<test.A.@Nullable B[][]>[][] genericFieldWithNullable1 = new Ref[0][];;\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n test/X.java:24: warning: [rawtypes] found raw type: Ref\n public final test.Ref<test.A.B[] @Nullable []>[] @Nullable[] genericFieldWithNullable2 = new Ref[0][];;\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n 3 warnings\n --------- Difference is ---------- expected:<[]> but was:<[test/X.java:22: warning: [rawtypes] found raw type: Ref\n public final test.Ref<test.A.B[][]>[][] genericField = new Ref[0][];\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n test/X.java:23: warning: [rawtypes] found raw type: Ref\n public final test.@Nullable Ref<test.A.@Nullable B[][]>[][] genericFieldWithNullable1 = new Ref[0][];;\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n test/X.java:24: warning: [rawtypes] found raw type: Ref\n public final test.Ref<test.A.B[] @Nullable []>[] @Nullable[] genericFieldWithNullable2 = new Ref[0][];;\n ^\n missing type arguments for generic class Ref<T>\n where T is a type-variable:\n T extends Object declared in class Ref\n 3 warnings\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:260) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:236) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runJavac(AbstractRegressionTest.java:2064) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2814) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2539) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:3028) at org.eclipse.jdt.core.tests.compiler.regression.AbstractNullAnnotationTest.runConformTestWithLibs(AbstractNullAnnotationTest.java:183) at org.eclipse.jdt.core.tests.compiler.regression.AbstractNullAnnotationTest.runConformTestWithLibs(AbstractNullAnnotationTest.java:165) at org.eclipse.jdt.core.tests.compiler.regression.NullTypeAnnotationTest.testBug499589BTBqualified(NullTypeAnnotationTest.java:14897)
Standard Output
org.eclipse.jdt.core.tests.compiler.regression.NullTypeAnnotationTest#testBug499589BTBqualified - 1.8 test/Ref.java [ package test; public class Ref<T> { T get() { throw new RuntimeException(); } } ] test/A.java [ package test; public class A { class B { } } ] test/X.java [ package test; import static org.eclipse.jdt.annotation.DefaultLocation.*; import org.eclipse.jdt.annotation.*; @SuppressWarnings({ "unchecked" }) @NonNullByDefault({ FIELD, RETURN_TYPE, PARAMETER, ARRAY_CONTENTS, TYPE_ARGUMENT }) public abstract class X { public final test.A.B[][] field = {}; public final test.A.@Nullable B[][] fieldWithNullable1 = {}; public final test.A.B[] @Nullable [] fieldWithNullable2 = {}; public final test.Ref<test.A.B[][]> list = new Ref<>(); public final test.Ref<test.A.@Nullable B[][]> listWithNullable1 = new Ref<>(); public final test.Ref<test.A.B[] @Nullable []> listWithNullable2 = new Ref<>(); public abstract test.A.B[][] method(); public abstract test.A.@Nullable B[][] methodWithNullable1(); public abstract test.A.B[] @Nullable [] methodWithNullable2(); public final test.Ref<test.A.B[][]>[][] genericField = new Ref[0][]; public final test.@Nullable Ref<test.A.@Nullable B[][]>[][] genericFieldWithNullable1 = new Ref[0][];; public final test.Ref<test.A.B[] @Nullable []>[] @Nullable[] genericFieldWithNullable2 = new Ref[0][];; } ] Full results sent to /tmp/comptest/run.1514610271420/1.8.0_131_20171230_000432.txt
Standard Error
--- javac err: --- test/X.java:22: warning: [rawtypes] found raw type: Ref public final test.Ref<test.A.B[][]>[][] genericField = new Ref[0][]; ^ missing type arguments for generic class Ref<T> where T is a type-variable: T extends Object declared in class Ref test/X.java:23: warning: [rawtypes] found raw type: Ref public final test.@Nullable Ref<test.A.@Nullable B[][]>[][] genericFieldWithNullable1 = new Ref[0][];; ^ missing type arguments for generic class Ref<T> where T is a type-variable: T extends Object declared in class Ref test/X.java:24: warning: [rawtypes] found raw type: Ref public final test.Ref<test.A.B[] @Nullable []>[] @Nullable[] genericFieldWithNullable2 = new Ref[0][];; ^ missing type arguments for generic class Ref<T> where T is a type-variable: T extends Object declared in class Ref 3 warnings ----------------------------------------