adopt to broken inference

This commit is contained in:
Maxim Shafirov
2013-02-12 20:04:22 +04:00
parent 620aae28d0
commit 24d99eb33f
+8 -6
View File
@@ -8,7 +8,9 @@ class Item(val name: String, val rating: Int): Comparable<Item> {
fun toString() = "Item($name, $rating)"
public override fun compareTo(other: Item): Int {
return compareBy(this, other, { rating }, { name })
var x : Comparable<Nothing> = rating
return compareBy<Item>(this, other, { rating }, { name })
}
}
@@ -22,17 +24,17 @@ class CompareTest {
}
Test fun compareByNameFirst() {
val diff = compareBy(v1, v2, { name }, { rating })
val diff = compareBy<Item>(v1, v2, { name }, { rating })
assertTrue(diff > 0)
}
Test fun compareByRatingFirst() {
val diff = compareBy(v1, v2, { rating }, { name })
val diff = compareBy<Item>(v1, v2, { rating }, { name })
assertTrue(diff < 0)
}
Test fun compareSameObjectsByRatingFirst() {
val diff = compareBy(v1, v1, { rating }, { name })
val diff = compareBy<Item>(v1, v1, { rating }, { name })
assertTrue(diff == 0)
}
@@ -50,7 +52,7 @@ class CompareTest {
Test fun sortUsingCustomComparator() {
val c = object : Comparator<Item>{
override fun compare(o1: Item, o2: Item): Int {
return compareBy(o1, o2, { name }, { rating })
return compareBy<Item>(o1, o2, { name }, { rating })
}
override fun equals(obj: Any?): Boolean {
return this == obj
@@ -65,4 +67,4 @@ class CompareTest {
println("Sorted list in rating order $items")
}
}
}