FILE: implicitReceiverOrder.kt public final class A : R|kotlin/Any| { public constructor(): R|A| { super() } public final fun foo(): R|kotlin/Int| { ^foo Int(1) } public final fun R|B|.bar(): R|kotlin/Int| { ^bar Int(3) } } public final class B : R|kotlin/Any| { public constructor(): R|B| { super() } public final fun foo(): R|kotlin/Int| { ^foo Int(2) } public final fun R|A|.bar(): R|kotlin/Int| { ^bar Int(4) } } public final fun test(a: R|A|, b: R|B|): R|kotlin/Unit| { R|kotlin/with|(R|/b|, = with@fun R|B|.(): R|kotlin/Int| { ^ R|kotlin/with|(R|/a|, = with@fun R|A|.(): R|kotlin/Int| { this@R|special/anonymous|.R|/A.foo|() ^ (this@R|special/anonymous|, this@R|special/anonymous|).R|/B.bar|() } ) } ) R|kotlin/with|(R|/a|, = with@fun R|A|.(): R|kotlin/Int| { ^ R|kotlin/with|(R|/b|, = with@fun R|B|.(): R|kotlin/Int| { this@R|special/anonymous|.R|/B.foo|() ^ (this@R|special/anonymous|, this@R|special/anonymous|).R|/A.bar|() } ) } ) }