Intereting Posts
AspectJ getLine возвращает 0 при использовании параметра Notable Notable Kotlin Добавление объектов JSON в существующий файл JSON Издевательские общие интерфейсы с Kotlin и Mockito Функция расширения Котлина – Как сделать его глобальным? Фрагмент: изменение видимости в функции Разница между классом и объектом в Котлине Сравнение NaN в Котлине Как инициализировать конечное поле в Котлин? Есть ли какая-либо ссылка на временную сложность библиотеки коллекции Kotlin? Почему этот Spek на действии не запускается? Расширение класса данных Kotlin для использования с JPA? Странная ситуация возникает при сортировке слияния в Котлине Как загрузить фрагмент в BottomNavigationView в зависимости от выбранного элемента? Как написать пользовательский getter, если свойства класса определены в конструкторе? Ион Котлин для работы с ненулевым объектом и непустым строковым представлением

Тип общего типа Kotlin, Ошибка ввода типа

В справочном документе Kotlin сказано, что этот пример действителен.

https://kotlinlang.org/docs/reference/generics.html#upper-bounds

fun <T> cloneWhenGreater(list: List<T>, threshold: T): List<T> where T : Comparable<T>, T : Cloneable { return list.filter { it > threshold }.map { it.clone() } } 

Но в Android-студии 3.0 он показывает тонкую красную линию под it.clone() . И сообщение об ошибке:

Ошибка ввода типа. Ожидаемый тип несоответствия.
Требуется: List<T>
Найдено: List<Any>

Почему этот пример нельзя скомпилировать?

Проблема заключается в использовании clone() , который protected поскольку компилятор жалуется. Проблема уже обсуждалась здесь: https://discuss.kotlinlang.org/t/is-the-documentation-correct/2925