// MODULE: lib // FILE: l1.kt package ann annotation class Test1(val x: Int) annotation class Test2(val x: Int = 0) interface I annotation class Test3>(val x: Test1>) class C : I annotation class Test4(val x: Array>>) class ARG annotation class Test5(vararg val xs: Test3>) // FILE: l2.kt import ann.* @Test1(42) @Test2(38) @Test3>(Test1(39)) @Test4([Test3>(Test1(40)), Test3>(Test1(50)), Test3>(Test1(60))]) //@Test5(*arrayOf(Test3(Test1(70))), *arrayOf(Test3(Test1(80)))) <-- KT-45414 class O { fun test(): String = "O" } // MODULE: main(lib) // FILE: main.kt import ann.* @Test1(24) @Test2(83) @Test3>(Test1(93)) @Test4([Test3>(Test1(44)), Test3>(Test1(55)), Test3>(Test1(66))]) //@Test5(*arrayOf(Test3(Test1(77))), *arrayOf(Test3(Test1(88)))) <-- KT-45414 class K { fun test(): String = "K" } fun box(): String = O().test() + K().test()