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