FILE: smartCastInInit.kt public abstract interface I : R|kotlin/Any| { } public abstract interface S : R|I| { public abstract fun foo(): R|kotlin/Unit| } public final fun s(): R|S| { ^s R|kotlin/TODO|() } public final class Main : R|kotlin/Any| { public constructor(): R|Main| { super() } private final val x: R|I| private get(): R|I| init { this@R|/Main|.R|/Main.x| = R|/s|() this@R|/Main|.R|/Main.x|.R|/S.foo|() } }