// !API_VERSION: 1.3 // !JVM_DEFAULT_MODE: enable // JVM_TARGET: 1.8 // WITH_RUNTIME interface Test { @JvmDefault var test: T get() = null!! set(value) { null!! } } var result = "fail" interface Test2 : Test { @JvmDefault override var test: String get() = result set(value) { result = value } } class TestClass : Test2 fun execute(t: Test, p: T): T { t.test = p return t.test } fun box(): String { return execute(TestClass(), "OK") }