diff --git a/libraries/stdlib/samples/test/samples/collections/collections.kt b/libraries/stdlib/samples/test/samples/collections/collections.kt index 2e9bbb25731..d402e579706 100644 --- a/libraries/stdlib/samples/test/samples/collections/collections.kt +++ b/libraries/stdlib/samples/test/samples/collections/collections.kt @@ -257,6 +257,22 @@ class Collections { } } + class Sets { + + @Sample + fun emptyReadOnlySet() { + val set = setOf() + assertTrue(set.isEmpty()) + + // another way to create an empty set, + // type parameter is inferred from the expected type + val other: Set = emptySet() + + assertTrue(set == other, "Empty sets are equal") + assertPrints(set, "[]") + } + } + class Transformations { @Sample diff --git a/libraries/stdlib/src/kotlin/collections/Sets.kt b/libraries/stdlib/src/kotlin/collections/Sets.kt index 2f8c2ae3ff6..aeb16de3052 100644 --- a/libraries/stdlib/src/kotlin/collections/Sets.kt +++ b/libraries/stdlib/src/kotlin/collections/Sets.kt @@ -22,7 +22,10 @@ internal object EmptySet : Set, Serializable { } -/** Returns an empty read-only set. The returned set is serializable (JVM). */ +/** + * Returns an empty read-only set. The returned set is serializable (JVM). + * @sample samples.collections.Collections.Sets.emptyReadOnlySet + */ public fun emptySet(): Set = EmptySet /** * Returns a new read-only set with the given elements. @@ -31,7 +34,10 @@ public fun emptySet(): Set = EmptySet */ public fun setOf(vararg elements: T): Set = if (elements.size > 0) elements.toSet() else emptySet() -/** Returns an empty read-only set. The returned set is serializable (JVM). */ +/** + * Returns an empty read-only set. The returned set is serializable (JVM). + * @sample samples.collections.Collections.Sets.emptyReadOnlySet + */ @kotlin.internal.InlineOnly public inline fun setOf(): Set = emptySet()