@pqgg7nwkd4

Как предотвратить выведение типа Any при использовании интерфейса с «out X» параметром в Kotlin?

Покажу примером:
open class Foo(var barInt: Int)

// public interface KProperty1<T, out R> : KProperty<R>, (T) -> R

fun <E : Foo, T> test(field: kotlin.reflect.KProperty1<E, T>, value: T): T = TODO()

fun main(args: Array<String>) {
    test(Foo::barInt, 123) // ок
    test(Foo::barInt, "NotInt") // тоже ок! Тип T = Any, но я бы хотел ошибку компиляции
}
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
@pqgg7nwkd4 Автор вопроса
Ответ, почему пока это нельзя делать, и временное решение написал тут:
https://discuss.kotlinlang.org/t/how-prevent-type-...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы