// FIR_IDENTICAL // !DIAGNOSTICS: -UNUSED_VARIABLE, -UNUSED_PARAMETER import kotlin.reflect.KProperty fun test(i: Int) { val bad by myLazyDelegate { createSample(i) { it.toString() } } takeSample(bad) } fun myLazyDelegate(i: () -> T): LazyDelegate = LazyDelegate(i()) class LazyDelegate(val v: T) { operator fun getValue(thisRef: Any?, property: KProperty<*>): T = TODO() } class Sample fun takeSample(g: Sample) {} fun createSample(i: T, a: (T) -> S): Sample = TODO()