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

Поддерживает ли 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 = ...