Flow<List<T>?> =
transform { list -> return@transform emit(list?.filter(predicate)) }
которая прекрасно работала до kotlin 1.4.0 и coroutine 1.3.9, теперь если начальный Flow содержит null, то он падает по list?.filter(predicate) must not be null. Причём если в transform явно дописать transform<List<T>?, List<T>?>, то всё будет ок. Я так понимаю это бага. Только чья?
Это не совсем бага, это поменялся вывод типов. Плохо, что оно упало при переходе, но вообще в таких случаях лучше тип явно указывать. А уронилось при компилляции?
Обсуждают сегодня