Intereting Posts
Kotlin lazy default свойство Использование lambda в пользовательском BindingAdapter с использованием Android Databinding и Kotlin В Kotlin почему аргумент по умолчанию не передается после того, как функция назначается переменной? Как создать новый список из пыльника в котлин? Как использовать инъекцию зависимостей в тестах Spek Android kotlin: невозможно прочитать файл класса Создание ArrayList уникальных элементов в ArrayList Как сопроводители реализуются в JVM-языках без поддержки JVM? как получить доступ к сопутствующему объекту из экземпляра объекта в kotlin? Можно ли использовать деструктурирование в аргументах функции? Как можно присвоить значение присваивания _id в Котлин? Как показать только день и месяц в диалоговом окне выбора даты в Kotlin (Android)? Почему приложение не работает под Android 4.x в Котлине? Система не может найти файл, указанный в Kotlin Kotlin inheritnce – Не передано значение для контекста параметра

Оценки Котлина и Верхнего типа с ковариацией

Поддерживает ли Kotlin ограничения верхнего и нижнего типов в настройке ковариации. Например, я хочу сказать

class Foo<out T> { fun or<U of T or greater>(other: U): <U> = ... } 

который в Скале

 class Foo[+T] { def or[U >: T](other: U): U = ... } 

Но компилятору, похоже, это не нравится, он жалуется на совпадение параметра типа T.

Solutions Collecting From Web of "Оценки Котлина и Верхнего типа с ковариацией"

В этой точке Котлин не поддерживает нижние оценки. Иногда вы можете избежать определения функции расширения вместо члена:

 fun <T> Foo<T>.or(other: T): T = ...