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