From 39ec0d3cbcf0398ad4bdf7cbbfd66ce998388bc3 Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Tue, 9 Sep 2025 17:58:57 +0200 Subject: [PATCH 1/2] String.charCodeAt should return int --- packages/@rescript/runtime/Stdlib_String.res | 2 +- packages/@rescript/runtime/Stdlib_String.resi | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/@rescript/runtime/Stdlib_String.res b/packages/@rescript/runtime/Stdlib_String.res index e0a3f9cbc3..5a76f80225 100644 --- a/packages/@rescript/runtime/Stdlib_String.res +++ b/packages/@rescript/runtime/Stdlib_String.res @@ -17,7 +17,7 @@ external compare: (string, string) => Stdlib_Ordering.t = "%compare" @get_index external getUnsafe: (string, int) => string = "" @send external charAt: (string, int) => string = "charAt" -@send external charCodeAt: (string, int) => float = "charCodeAt" +@send external charCodeAt: (string, int) => int = "charCodeAt" @send external codePointAt: (string, int) => option = "codePointAt" @send external concat: (string, string) => string = "concat" diff --git a/packages/@rescript/runtime/Stdlib_String.resi b/packages/@rescript/runtime/Stdlib_String.resi index b0b76dce38..01825f55fa 100644 --- a/packages/@rescript/runtime/Stdlib_String.resi +++ b/packages/@rescript/runtime/Stdlib_String.resi @@ -220,12 +220,12 @@ See [`String.charCodeAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScrip ## Examples ```rescript -String.charCodeAt(`😺`, 0) == 0xd83d->Int.toFloat +String.charCodeAt(`😺`, 0) == 0xd83d String.codePointAt(`😺`, 0) == Some(0x1f63a) ``` */ @send -external charCodeAt: (string, int) => float = "charCodeAt" +external charCodeAt: (string, int) => int = "charCodeAt" /** `codePointAt(str, index)` returns the code point at position `index` within From b48531df040ef42f26d2358202aa8206b2c90429 Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Tue, 9 Sep 2025 20:37:58 +0200 Subject: [PATCH 2/2] CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index edd491c6e1..eda9fed265 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ #### :boom: Breaking Change +- Fix return type of `String.charCodeAt`. https://github.com/rescript-lang/rescript/pull/7864 + #### :eyeglasses: Spec Compliance #### :rocket: New Feature