blob: df3d189d5d3eaa3d3027d33582b670a0437f1cdb [file]
interface I1
interface I2
interface Lazy<T> {
operator fun getValue(a1: Any, a2: Any): T
}
fun <T> lazy(f: () -> T): Lazy<T> = throw Exception()
class A {
private inner class B {
val o1 = object : I1 {}
val o2 by lazy {
object : I1 {}
}
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>val o3<!> = object : I1, I2 {} // FIR allows this since the containing class is private
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>val o4<!> by lazy { // FIR allows this since the containing class is private
object : I1, I2 {}
}
private val privateO1 = object : I1 {}
private val privateO2 by lazy {
object : I1 {}
}
private val privateO3 = object : I1, I2 {}
private val privateO4 by lazy {
object : I1, I2 {}
}
}
}