говорит, что параметр T в объявлении value class Result<out T> не нужен.
@JvmInline
value class Result<out T> @PublishedApi internal constructor(
@PublishedApi
internal val value: Any?
)
inline fun <reified T> Result<T>.getOrNull(): T? = value as? T
а, ну в таких случаях unchecked cast-ы это норма, ведь другого результата там просто никак не может быть
Я понимаю, что для этого случая unchecked cast безопасен. Проблема в том, что компилятор этого не понимает, а хотелось бы, чтобы он как-то мог эти варианты различать, так как в общем случае unchecked cast не безопасен и даже не fail fast
а зачем вам свой Result, есть же библиотечный
Я его просто как пример привёл, что в нём тоже unchecked cast
Обсуждают сегодня