diff --git a/libraries/stdlib/src/kotlin/Standard.kt b/libraries/stdlib/src/kotlin/Standard.kt index eaa5ff71019..412d5d6de5f 100644 --- a/libraries/stdlib/src/kotlin/Standard.kt +++ b/libraries/stdlib/src/kotlin/Standard.kt @@ -73,6 +73,15 @@ public inline fun Iterator.toSortedSet() : SortedSet = toCollection(Tr */ public inline fun Iterator.toSortedSet(comparator: Comparator) : SortedSet = toCollection(TreeSet(comparator)) + +/** + * Creates a tuple of type [[#(A,B)]] from this and *that* which can be useful for creating [[Map]] literals + * with less noise, for example + + * @includeFunctionBody ../../test/MapTest.kt createUsingTo + */ +public inline fun A.to(that: B): #(A, B) = #(this, that) + /** Run function f */ diff --git a/libraries/stdlib/test/MapTest.kt b/libraries/stdlib/test/MapTest.kt index f003bd977f6..3fd7cf23ca4 100644 --- a/libraries/stdlib/test/MapTest.kt +++ b/libraries/stdlib/test/MapTest.kt @@ -119,6 +119,13 @@ class MapTest { assertEquals(2, map.get("b")) } + test fun createUsingTo() { + val map = hashMap("a" to 1, "b" to 2) + assertEquals(2, map.size) + assertEquals(1, map.get("a")) + assertEquals(2, map.get("b")) + } + test fun createLinkedMap() { val map = linkedMap(#("c", 3), #("b", 2), #("a", 1)) assertEquals(1, map.get("a"))