From 5820451af6483d95d6bfb1ad8fe8cff22c8f0f01 Mon Sep 17 00:00:00 2001 From: Hongbo Zhang Date: Sun, 6 Sep 2026 09:06:35 +0800 Subject: [PATCH] fix: replace moonbitlang/core/strconv with core/string `moonbitlang/core` 0.10.12 removed `moonbitlang/core/strconv`; only `core/internal/strconv` remains. Any module that depends on mocket now fails package solving before a single file is compiled: Cannot find import 'moonbitlang/core/strconv' in oboard/mocket@0.9.1 `core/string` carries the same API on both 0.10.11 and 0.10.12, so this builds on the current stable toolchain and on nightly. - root `moon.pkg` imported `core/strconv` but nothing in the package referenced `@strconv`; it already imports `core/string`. Dropped. - the three packages that do parse a port switch to `@string.from_str`, which is the same `FromStr` trait method exposed as a free function, so the call sites keep their inferred-type form. Verified with moonc v0.10.11+6ff76a5f9 (stable) and v0.10.11+9de356786-nightly: before, nightly moon check -> exit 255, cannot find core/strconv after, nightly moon check -> exit 0 after, stable moon check js and native -> exit 0 after, stable moon test js,native -> 105 and 100 passed Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01AmoyPMELemz5hdNNdXyAkm --- benchmarks/mocket/main.mbt | 2 +- benchmarks/mocket/moon.pkg | 2 +- benchmarks/mocket_middleware/main.mbt | 2 +- benchmarks/mocket_middleware/moon.pkg | 2 +- examples/route/main.mbt | 2 +- examples/route/moon.pkg | 2 +- moon.pkg | 1 - 7 files changed, 6 insertions(+), 7 deletions(-) diff --git a/benchmarks/mocket/main.mbt b/benchmarks/mocket/main.mbt index c4dd6ed..01ccfc2 100644 --- a/benchmarks/mocket/main.mbt +++ b/benchmarks/mocket/main.mbt @@ -35,7 +35,7 @@ async fn main { fn benchmark_port() -> Int { match @env.get_env_var("PORT") { Some(port_text) => { - let port : Int = @strconv.from_str(port_text) catch { _ => 3000 } + let port : Int = @string.from_str(port_text) catch { _ => 3000 } port } None => 3000 diff --git a/benchmarks/mocket/moon.pkg b/benchmarks/mocket/moon.pkg index 8f9b8ba..42f5953 100644 --- a/benchmarks/mocket/moon.pkg +++ b/benchmarks/mocket/moon.pkg @@ -2,7 +2,7 @@ import { "moonbitlang/async", "moonbitlang/core/env", "moonbitlang/core/json", - "moonbitlang/core/strconv", + "moonbitlang/core/string", "oboard/mocket" @mocket_lib, } diff --git a/benchmarks/mocket_middleware/main.mbt b/benchmarks/mocket_middleware/main.mbt index aafac13..0eb1ab5 100644 --- a/benchmarks/mocket_middleware/main.mbt +++ b/benchmarks/mocket_middleware/main.mbt @@ -51,7 +51,7 @@ fn noop_middleware() -> @mocket_lib.Middleware { fn benchmark_port() -> Int { match @env.get_env_var("PORT") { Some(port_text) => { - let port : Int = @strconv.from_str(port_text) catch { _ => 3000 } + let port : Int = @string.from_str(port_text) catch { _ => 3000 } port } None => 3000 diff --git a/benchmarks/mocket_middleware/moon.pkg b/benchmarks/mocket_middleware/moon.pkg index 8f9b8ba..42f5953 100644 --- a/benchmarks/mocket_middleware/moon.pkg +++ b/benchmarks/mocket_middleware/moon.pkg @@ -2,7 +2,7 @@ import { "moonbitlang/async", "moonbitlang/core/env", "moonbitlang/core/json", - "moonbitlang/core/strconv", + "moonbitlang/core/string", "oboard/mocket" @mocket_lib, } diff --git a/examples/route/main.mbt b/examples/route/main.mbt index 7d390a7..e4e5d32 100644 --- a/examples/route/main.mbt +++ b/examples/route/main.mbt @@ -76,7 +76,7 @@ async fn main { fn example_port() -> Int { match @env.get_env_var("MOCKET_PORT") { Some(port_text) => { - let port : Int = @strconv.from_str(port_text) catch { _ => 4000 } + let port : Int = @string.from_str(port_text) catch { _ => 4000 } port } None => 4000 diff --git a/examples/route/moon.pkg b/examples/route/moon.pkg index a1f2d0c..125b608 100644 --- a/examples/route/moon.pkg +++ b/examples/route/moon.pkg @@ -1,7 +1,7 @@ import { "moonbitlang/async", "moonbitlang/core/env", - "moonbitlang/core/strconv", + "moonbitlang/core/string", "oboard/mocket", "oboard/mocket/cors", } diff --git a/moon.pkg b/moon.pkg index 4fc602a..e4f3e68 100644 --- a/moon.pkg +++ b/moon.pkg @@ -13,7 +13,6 @@ import { "moonbitlang/async/websocket", "moonbitlang/core/bench", "moonbitlang/core/json", - "moonbitlang/core/strconv", "moonbitlang/core/env", "moonbitlang/core/string", "moonbitlang/core/buffer",