diff --git a/libraries/stdlib/common/src/generated/_Arrays.kt b/libraries/stdlib/common/src/generated/_Arrays.kt index ff68df59a2c..57fa0ba8c69 100644 --- a/libraries/stdlib/common/src/generated/_Arrays.kt +++ b/libraries/stdlib/common/src/generated/_Arrays.kt @@ -3920,6 +3920,8 @@ public inline fun CharArray.filterNot(predicate: (Char) -> Boolean): List /** * Returns a list containing all elements that are not `null`. + * + * @sample samples.collections.Collections.Filtering.filterNotNull */ public fun Array.filterNotNull(): List { return filterNotNullTo(ArrayList()) diff --git a/libraries/stdlib/common/src/generated/_Collections.kt b/libraries/stdlib/common/src/generated/_Collections.kt index cc682dfb19a..4af0334c34a 100644 --- a/libraries/stdlib/common/src/generated/_Collections.kt +++ b/libraries/stdlib/common/src/generated/_Collections.kt @@ -749,6 +749,8 @@ public inline fun Iterable.filterNot(predicate: (T) -> Boolean): List /** * Returns a list containing all elements that are not `null`. + * + * @sample samples.collections.Collections.Filtering.filterNotNull */ public fun Iterable.filterNotNull(): List { return filterNotNullTo(ArrayList()) diff --git a/libraries/stdlib/common/src/generated/_Sequences.kt b/libraries/stdlib/common/src/generated/_Sequences.kt index d0cb2f21515..4fa25ae4a2a 100644 --- a/libraries/stdlib/common/src/generated/_Sequences.kt +++ b/libraries/stdlib/common/src/generated/_Sequences.kt @@ -439,6 +439,8 @@ public fun Sequence.filterNot(predicate: (T) -> Boolean): Sequence { * Returns a sequence containing all elements that are not `null`. * * The operation is _intermediate_ and _stateless_. + * + * @sample samples.collections.Collections.Filtering.filterNotNull */ public fun Sequence.filterNotNull(): Sequence { @Suppress("UNCHECKED_CAST") diff --git a/libraries/stdlib/samples/test/samples/collections/collections.kt b/libraries/stdlib/samples/test/samples/collections/collections.kt index 206c8fb2f2a..93e8bf841c3 100644 --- a/libraries/stdlib/samples/test/samples/collections/collections.kt +++ b/libraries/stdlib/samples/test/samples/collections/collections.kt @@ -801,4 +801,14 @@ class Collections { } } + + class Filtering { + @Sample + fun filterNotNull() { + val numbers: List = listOf(1, 2, null, 4) + val nonNullNumbers = numbers.filterNotNull() + + assertPrints(nonNullNumbers, "[1, 2, 4]") + } + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt index c34d5f0e8ca..744eb794b08 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt @@ -730,6 +730,7 @@ object Filtering : TemplateGroupBase() { include(Iterables, Sequences, ArraysOfObjects) } builder { doc { "Returns a list containing all elements that are not `null`." } + sample("samples.collections.Collections.Filtering.filterNotNull") typeParam("T : Any") returns("List") toNullableT = true