diff --git a/libraries/stdlib/wasm/src/kotlin/Sequences.kt b/libraries/stdlib/wasm/src/kotlin/Sequences.kt index 01e51c5d714..e8306fe4273 100644 --- a/libraries/stdlib/wasm/src/kotlin/Sequences.kt +++ b/libraries/stdlib/wasm/src/kotlin/Sequences.kt @@ -5,8 +5,12 @@ package kotlin.sequences -internal actual class ConstrainedOnceSequence : Sequence { - actual constructor(sequence: Sequence) { TODO("Wasm stdlib: ConstrainedOnceSequence") } +internal actual class ConstrainedOnceSequence actual constructor(sequence: Sequence) : Sequence { + private var sequenceRef: Sequence? = sequence - actual override fun iterator(): Iterator = TODO("Wasm stdlib: ConstrainedOnceSequence") + actual override fun iterator(): Iterator { + val sequence = sequenceRef ?: throw IllegalStateException("This sequence can be consumed only once.") + sequenceRef = null + return sequence.iterator() + } }