diff --git a/libraries/stdlib/js-ir/src/generated/_ArraysJs.kt b/libraries/stdlib/js-ir/src/generated/_ArraysJs.kt index e49803629ef..64d3b49688f 100644 --- a/libraries/stdlib/js-ir/src/generated/_ArraysJs.kt +++ b/libraries/stdlib/js-ir/src/generated/_ArraysJs.kt @@ -1303,7 +1303,7 @@ public actual fun FloatArray.sort(): Unit { * Sorts the array in-place. */ public actual fun CharArray.sort(): Unit { - this.asDynamic().sort() + this.asDynamic().sort(::primitiveCompareTo) } /** diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Arrays.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Arrays.kt index b361e3f941f..9e19f254728 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Arrays.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Arrays.kt @@ -1038,7 +1038,13 @@ object ArrayOps : TemplateGroupBase() { body { "definedExternally" } } on(Backend.IR) { - body { "this.asDynamic().sort()" } + if (primitive == PrimitiveType.Char) { + // Requires comparator because default comparator of 'Array.prototype.sort' compares + // string representation of values + body { "this.asDynamic().sort(::primitiveCompareTo)" } + } else { + body { "this.asDynamic().sort()" } + } } } else { body {