Удаление модификатора private
для myScope
(строка 4) в следующем рабочем коде нарушит код.Причиной этого является изменение типа myScope
.Если для видимости установлено значение private
, тип: anonymous object : Scope
.Без private
тип переключается на Scope
.Как я могу исправить это поведение?
interface Scope
operator fun<SD: Scope> SD.invoke(block: SD.() -> Unit) = block()
private val myScope = object : Scope {
fun Int.myScopedExtFunction() = 1337
}
fun usage() {
myScope {
1.myScopedExtFunction()
}
}
Здесь обе версии в Android Studio: