Skip to content

Failed

org.eclipse.jdt.core.tests.compiler.regression.LambdaExpressionsTest.test430035e - 1.8 (from org.eclipse.jdt.core.tests.compiler.regression.TestAll)

Failing for the past 4 builds (Since #6 )
Took 0.74 sec.

Error Message

test430035e - Javac found error(s) but Eclipse did not find any.
----------- Expected ------------

------------ but was ------------
X.java:12: error: reference to foo is ambiguous\n
      System.out.println(k.foo("direct", " call"));\n
                          ^\n
  both method foo(T#1,String) in J and method foo(String,T#2) in I match\n
  where T#1,T#2 are type-variables:\n
    T#1 extends Object declared in interface J\n
    T#2 extends Object declared in interface I\n
1 error\n

--------- Difference is ----------
 expected:<[]> but was:<[X.java:12: error: reference to foo is ambiguous\n
      System.out.println(k.foo("direct", " call"));\n
                          ^\n
  both method foo(T#1,String) in J and method foo(String,T#2) in I match\n
  where T#1,T#2 are type-variables:\n
    T#1 extends Object declared in interface J\n
    T#2 extends Object declared in interface I\n
1 error\n
]>

Stacktrace

junit.framework.ComparisonFailure: test430035e - Javac found error(s) but Eclipse did not find any.
----------- Expected ------------

------------ but was ------------
X.java:12: error: reference to foo is ambiguous\n
      System.out.println(k.foo("direct", " call"));\n
                          ^\n
  both method foo(T#1,String) in J and method foo(String,T#2) in I match\n
  where T#1,T#2 are type-variables:\n
    T#1 extends Object declared in interface J\n
    T#2 extends Object declared in interface I\n
1 error\n

--------- Difference is ----------
 expected:<[]> but was:<[X.java:12: error: reference to foo is ambiguous\n
      System.out.println(k.foo("direct", " call"));\n
                          ^\n
  both method foo(T#1,String) in J and method foo(String,T#2) in I match\n
  where T#1,T#2 are type-variables:\n
    T#1 extends Object declared in interface J\n
    T#2 extends Object declared in interface I\n
1 error\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:2052)
	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:1396)
	at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1393)
	at org.eclipse.jdt.core.tests.compiler.regression.LambdaExpressionsTest.test430035e(LambdaExpressionsTest.java:3954)

Standard Output

org.eclipse.jdt.core.tests.compiler.regression.LambdaExpressionsTest#test430035e - 1.8
X.java [
interface I<T> {
	Object foo(String t, T u);
}
interface J<T> {
	String foo(T t, String u);
}
interface K extends I<String>, J<String> {
}
public class X {
    public static void main(String... x) {
      K k = (s, u) -> s + u;
      System.out.println(k.foo("direct", " call"));
      J<String> j = k;
      System.out.println(j.foo("bridge",  " method(j)"));
      I<String> i = k;
      System.out.println(i.foo("bridge",  " method(i)"));
    }
}

]


Full results sent to /tmp/comptest/run.1514610271420/1.8.0_131_20171230_000432.txt

Standard Error

--- javac err: ---
X.java:12: error: reference to foo is ambiguous
      System.out.println(k.foo("direct", " call"));
                          ^
  both method foo(T#1,String) in J and method foo(String,T#2) in I match
  where T#1,T#2 are type-variables:
    T#1 extends Object declared in interface J
    T#2 extends Object declared in interface I
1 error

----------------------------------------