diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/collections/AbstractMutableList.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/collections/AbstractMutableList.kt index 1ac07d505a8..4d85e16b6cc 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/collections/AbstractMutableList.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/collections/AbstractMutableList.kt @@ -35,6 +35,8 @@ public actual abstract class AbstractMutableList protected actual constructor } override actual fun addAll(index: Int, elements: Collection): Boolean { + AbstractList.checkPositionIndex(index, size) + var i = index var changed = false for (e in elements) { diff --git a/libraries/stdlib/js/src/kotlin/collections/AbstractMutableList.kt b/libraries/stdlib/js/src/kotlin/collections/AbstractMutableList.kt index 85e2254fbe1..1eba0a24ace 100644 --- a/libraries/stdlib/js/src/kotlin/collections/AbstractMutableList.kt +++ b/libraries/stdlib/js/src/kotlin/collections/AbstractMutableList.kt @@ -35,6 +35,8 @@ public actual abstract class AbstractMutableList protected actual constructor } actual override fun addAll(index: Int, elements: Collection): Boolean { + AbstractList.checkPositionIndex(index, size) + checkIsMutable() var _index = index var changed = false diff --git a/libraries/stdlib/test/collections/AbstractCollectionsTest.kt b/libraries/stdlib/test/collections/AbstractCollectionsTest.kt index fced3dc517f..2d6bebb229d 100644 --- a/libraries/stdlib/test/collections/AbstractCollectionsTest.kt +++ b/libraries/stdlib/test/collections/AbstractCollectionsTest.kt @@ -127,6 +127,8 @@ class AbstractCollectionsTest { assertEquals(listOf("ok", "element"), list) + assertFailsWith { list.addAll(-1, listOf()) } + compare(list.storage, list) { listBehavior() }