open annotation class A1 : Annotation { constructor(vararg xs: Int) /* primary */ { super/*Any*/() /* () */ } val xs: IntArray field = xs get } open annotation class A2 : Annotation { constructor(vararg xs: String) /* primary */ { super/*Any*/() /* () */ } val xs: Array field = xs get } open annotation class AA : Annotation { constructor(vararg xs: A1) /* primary */ { super/*Any*/() /* () */ } val xs: Array field = xs get } @A1(xs = [1, 2, 3]) @A2(xs = ["a", "b", "c"]) @AA(xs = [A1(xs = [4]), A1(xs = [5]), A1(xs = [6])]) fun test1() { } @A1(xs = []) @A2(xs = []) @AA(xs = []) fun test2() { }