AM
in по-хорошему принимать должен только non-null. Так что формально тут уже есть повод для смарт-каста, если уж допустили такую конструкциюSize: a a a
AM
in по-хорошему принимать должен только non-null. Так что формально тут уже есть повод для смарт-каста, если уж допустили такую конструкциюAM
AL
AM
AL
val a: Int? = null
val b = when(a) {
in 1..3 -> a
else -> 1000
}
Int? )BP
val a: Int? = null
val b = when(a) {
in 1..3 -> a
else -> 1000
}
Int? )AL
in 1..3 не должен применяться к Int? , либо у выражения был бы тип Int из-за смарт-каста в первой ветке.BP
in 1..3 не должен применяться к Int? , либо у выражения был бы тип Int из-за смарт-каста в первой ветке.AN
in по-хорошему принимать должен только non-null. Так что формально тут уже есть повод для смарт-каста, если уж допустили такую конструкциюVN
AN
VP
a в Int - это явная недоработочка.AN
a в Int - это явная недоработочка.AM
VP
AL
Int? , просто на него не навешено никаких контрактов сейчасM

M
М

BP