// 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 i2 = A(2) a.foo(a.a + i2.a) with(A(1)) { val i1 = A(2) foo(this.a + i1.a) val i = A(2) this.foo(this.a + i.a) } }