типов глючит
private val _allObjs: MutableList<Triple<Int, String, Any?>> = mutableListOf()
private val _myObjs: MutableList<Triple<Int, String, MyObj>> = mutableListOf()
...
internal fun <T> add(request: String, obj: T) {
when (obj) {
...
is MyObj -> _myObjs += Triple(size, request, obj) // ERROR
// is MyObj -> _myObjs.add(Triple(size, request, obj)) // OK
// is MyObj -> _myObjs += Triple(size, request, obj as MyObj) // OK
...
}
_allObj += Triple(size, request, obj) // OK
}
...
Compilation error:
Val cannot be reassigned
Type mismatch: inferred type is List<Triple<Int, String, Any?>> but MutableList<Triple<Int, String, MyObj>> was expected
(IDE ошибку не видит)
in\out - вечная проблема, даже в котлине такую фигню не пофиксили, очень сложно с дженериками
хотя нет T == Any , как котлин поймет что ваш T == MyObj
Скорее всего, мы это уже пофиксили (но только в 1.4). На dev-билдах 1.4 не смотрели?
Обсуждают сегодня