1/* 2 * @test /nodynamiccopyright/ 3 * @bug 8055514 4 * @summary Wrong, confusing error when non-static varargs referenced in static context 5 * @compile/fail/ref=T8055514.out -Xlint:varargs -Werror -XDrawDiagnostics T8055514.java 6 */ 7class T8055514 { 8 void m(int... args) { } 9 10 void m2(int... args) { } 11 static void m2(String s) { } 12 13 void m3(int... args) { } 14 static void m3(String s) { } 15 static void m3(Runnable r) { } 16 17 void m4(int... args) { } 18 void m4(int i1, int i2, int i3) { } 19 20 static void test() { 21 m(1,2,3); //only one candidate (varargs) - varargs error wins 22 m2(1,2,3); //two candidates - only one applicable (varargs) - varargs error wins 23 m3(1,2,3); //three candidates - only one applicable (varargs) - varargs error wins 24 m4(1,2,3); //two candidates - both applicable - basic error wins 25 } 26} 27