/*
 * @test /nodynamiccopyright/
 * @bug 5044125
 * @summary javac allows cyclic annotation interfaces with arrays
 * @author gafter
 *
 * @compile/fail/ref=Cycle3.out -XDrawDiagnostics  Cycle3.java
 */

package cycle3;

import java.lang.annotation.Retention;
import static java.lang.annotation.RetentionPolicy.*;

@Retention(RUNTIME)
@interface A {
    A[] values() default { @A() };
}

@A()
class Main {
    public static void main(String[] args) {
        A a = Main.class.getAnnotation(A.class);
        System.out.println(a);
    }
}
