diff --git a/libraries/stdlib/src/kotlin/util/Standard.kt b/libraries/stdlib/src/kotlin/util/Standard.kt index f6a12f5d7dc..8230397d539 100644 --- a/libraries/stdlib/src/kotlin/util/Standard.kt +++ b/libraries/stdlib/src/kotlin/util/Standard.kt @@ -61,6 +61,13 @@ public inline fun T.also(block: (T) -> Unit): T { block(this); return this } @kotlin.internal.InlineOnly public inline fun T.let(block: (T) -> R): R = block(this) +/** + * Returns `this` value if it satisfies the given [predicate] or `null`, if it doesn't. + */ +@kotlin.internal.InlineOnly +@SinceKotlin("1.1") +public inline fun T.takeIf(predicate: (T) -> Boolean): T? = if (predicate(this)) this else null + /** * Executes the given function [action] specified number of [times]. *