Kotlin Flow: недостаточно информации для вывода переменной типа внутри функции построителя Flow

У меня есть такая функция расширения:

inline operator fun <reified T : Any> SharedPreferences.get(key: String, defaultValue: T? = null): T? {
    return when (T::class) {
        String::class -> getString(key, defaultValue as? String ?: "") as T
        Int::class -> getInt(key, defaultValue as? Int ?: -1) as T
        Boolean::class -> getBoolean(key, defaultValue as? Boolean ?: false) as T
        Float::class -> getFloat(key, defaultValue as? Float ?: -1f) as T
        Long::class -> getLong(key, defaultValue as? Long ?: -1) as T
        else -> throw UnsupportedOperationException("Not yet implemented")
   }
}

Я могу использовать его без проблем:

https://stackru.com/im ages/246d8636e68e01180fd45413b8a0944e4290de85.png

Но когда я использую его внутри функции построения потока, я получаю эту ошибку:

Недостаточно информации для вывода параметра T

https://stackru.com/im ages/3478026f8e62c85114e888e12e72476e55b40d60.png

0 ответов

Другие вопросы по тегам