Relax upper bound of T for minBy and maxBy to be nullable.

Swap type parameters of minBy and maxBy.
#KT-10099 Fixed
This commit is contained in:
Ilya Gorbunov
2015-11-30 18:19:25 +03:00
parent 58e93d5e1b
commit 33b366b9b9
4 changed files with 8 additions and 8 deletions
@@ -1397,7 +1397,7 @@ public fun <T : Comparable<T>> Iterable<T>.max(): T? {
/**
* Returns the first element yielding the largest value of the given function or `null` if there are no elements.
*/
public inline fun <R : Comparable<R>, T : Any> Iterable<T>.maxBy(selector: (T) -> R): T? {
public inline fun <T, R : Comparable<R>> Iterable<T>.maxBy(selector: (T) -> R): T? {
val iterator = iterator()
if (!iterator.hasNext()) return null
var maxElem = iterator.next()
@@ -1430,7 +1430,7 @@ public fun <T : Comparable<T>> Iterable<T>.min(): T? {
/**
* Returns the first element yielding the smallest value of the given function or `null` if there are no elements.
*/
public inline fun <R : Comparable<R>, T : Any> Iterable<T>.minBy(selector: (T) -> R): T? {
public inline fun <T, R : Comparable<R>> Iterable<T>.minBy(selector: (T) -> R): T? {
val iterator = iterator()
if (!iterator.hasNext()) return null
var minElem = iterator.next()