diff --git a/libraries/stdlib/common/src/generated/_Maps.kt b/libraries/stdlib/common/src/generated/_Maps.kt index 03770acfa81..62c0f823581 100644 --- a/libraries/stdlib/common/src/generated/_Maps.kt +++ b/libraries/stdlib/common/src/generated/_Maps.kt @@ -584,6 +584,8 @@ public inline fun Map.asIterable(): Iterable> { /** * Creates a [Sequence] instance that wraps the original map returning its entries when being iterated. + * + * @sample samples.collections.Sequences.Building.sequenceFromMap */ public fun Map.asSequence(): Sequence> { return entries.asSequence() diff --git a/libraries/stdlib/samples/test/samples/collections/sequences.kt b/libraries/stdlib/samples/test/samples/collections/sequences.kt index b9b0301a231..d9fad10f511 100644 --- a/libraries/stdlib/samples/test/samples/collections/sequences.kt +++ b/libraries/stdlib/samples/test/samples/collections/sequences.kt @@ -75,6 +75,14 @@ class Sequences { assertPrints(sequence.joinToString(), "a, b, c") } + @Sample + fun sequenceFromMap() { + val map = mapOf(1 to "x", 2 to "y", -1 to "zz") + val sequence = map.asSequence() + + assertPrints(sequence.joinToString(), "1=x, 2=y, -1=zz") + } + @Sample fun sequenceFromIterator() { val array = arrayOf(1, 2, 3) diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt index 50340c2d0a1..c4472d5dd89 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt @@ -43,7 +43,7 @@ object SequenceOps : TemplateGroupBase() { Creates a [Sequence] instance that wraps the original ${f.collection} returning its ${f.element.pluralize()} when being iterated. """ } - specialFor(ArraysOfPrimitives, ArraysOfObjects, Iterables) { + specialFor(ArraysOfPrimitives, ArraysOfObjects, Iterables, Maps) { sample("samples.collections.Sequences.Building.sequenceFrom${f.doc.collection.capitalize()}") }