diff --git a/libraries/stdlib/src/kotlin/text/Strings.kt b/libraries/stdlib/src/kotlin/text/Strings.kt index 3aa6067ce77..57c44f98542 100644 --- a/libraries/stdlib/src/kotlin/text/Strings.kt +++ b/libraries/stdlib/src/kotlin/text/Strings.kt @@ -50,8 +50,8 @@ public val CharSequence.size: Int public val String.size: Int get() = length() -public val String.indices : IntRange - get() = 0..size +public val String.indices: IntRange + get() = 0..length() - 1 /** * Returns a subsequence specified by given set of indices. @@ -94,4 +94,4 @@ public fun Array.join(separator: String = ", ", prefix: String = "", pos */ public fun Stream.join(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "..."): String { return joinToString(separator, prefix, postfix, limit, truncated) -} \ No newline at end of file +} diff --git a/libraries/stdlib/test/text/StringTest.kt b/libraries/stdlib/test/text/StringTest.kt index d4e033de4ec..a1d584ec0fc 100644 --- a/libraries/stdlib/test/text/StringTest.kt +++ b/libraries/stdlib/test/text/StringTest.kt @@ -62,4 +62,10 @@ class StringTest { assertEquals("4321", "1234".reverse()) assertEquals("", "".reverse()) } + + test fun indices() { + assertEquals(0..4, "abcde".indices) + assertEquals(0..0, "a".indices) + assertEquals(IntRange.EMPTY, "".indices) + } }