// ISSUE: KT-61633 interface A interface B interface C interface D val A.provideDelegate: B get() = TODO() operator fun B.invoke(x: Any?, y: Any?): C = TODO() val C.getValue: D get() = TODO() operator fun D.invoke(x: Any?, y: Any?): X4 = TODO() fun foo(a: A, c: C) { val x1 by a x1 x1.length val y1 by c y1 y1.length }