// WITH_DEFAULT_VALUE: false public inline fun with(receiver: T, f: T.() -> R): R = receiver.f() class A(val a: Int) { fun foo(i: Int): Int { return i / 2 } } fun test() { val a = A(1) val a3 = A(2) a.foo(a.a + a3.a) with(A(1)) { val a2 = A(2) foo(this.a + a2.a) val a1 = A(2) this.foo(this.a + a1.a) } }