refactor: remove the deprecated strconv package - #4193
Conversation
The parsing API moved to `@string` long ago; `moonbitlang/core/strconv` has been a deprecated compatibility layer over `internal/strconv` since then, and no package in this module imports it anymore. Delete the package together with its duplicated tests, README and generated interface, and drop it from the README dependency graph. Co-Authored-By: SeekMoon <seekmoon@moonbitlang.com>
There was a problem hiding this comment.
🟢 Approval recommended
The PR cleanly removes an already-deprecated compatibility package and updates the module documentation accordingly, with no remaining in-repo references detected.
Pull request overview
Removes the long-deprecated top-level moonbitlang/core/strconv compatibility package, leaving the active implementation in internal/strconv (as consumed/re-exported by string and used by json) untouched. This cleans up the module surface area and documentation without changing parsing behavior within the module.
Changes:
- Delete the deprecated
strconv/package (implementation, tests, docs, and generated interface). - Update the top-level package overview graph to remove
strconvfrom the “text & binary” grouping.
File summaries
| File | Description |
|---|---|
| strconv/uint.mbt | Removed deprecated UInt/UInt64 parsing compatibility APIs and their inline tests. |
| strconv/uint_test.mbt | Removed deprecated package-level uint parsing tests. |
| strconv/traits.mbt | Removed deprecated FromStr compatibility trait and its tests. |
| strconv/string_view.mbt | Removed StringView::fold_digits helper from deprecated package copy. |
| strconv/README.mbt.md | Removed deprecated package README content. |
| strconv/quickcheck_test.mbt | Removed deprecated quickcheck property tests for the compatibility layer. |
| strconv/pkg.generated.mbti | Removed generated interface for deleted package. |
| strconv/number.mbt | Removed internal numeric parsing helpers from deprecated package copy. |
| strconv/number_wbtest.mbt | Removed whitebox tests tied to deprecated package internals. |
| strconv/number_test.mbt | Removed additional deprecated-package tests. |
| strconv/moon.pkg | Removed package manifest for deleted package. |
| strconv/int.mbt | Removed deprecated Int/Int64 parsing compatibility APIs and helpers. |
| strconv/int_test.mbt | Removed deprecated package-level int parsing tests. |
| strconv/extends.mbt | Removed deprecated method promotions/hidden extensions for deleted types. |
| strconv/errors.mbt | Removed deprecated StrConvError definition from compatibility layer. |
| strconv/double.mbt | Removed deprecated parse_double implementation and tests from compatibility layer. |
| strconv/double_test.mbt | Removed deprecated parse-double targeted tests. |
| strconv/double_differential_test.mbt | Removed deprecated cross-target differential snapshot battery. |
| strconv/deprecated.mbt | Removed deprecated Decimal/parse exports previously kept for compatibility. |
| strconv/decimal.mbt | Removed deprecated high-precision decimal implementation and extensive tests. |
| strconv/bool.mbt | Removed deprecated parse_bool implementation and tests. |
| strconv/additional_coverage_test.mbt | Removed extra deprecated-package tests aimed at coverage edges. |
| README.md | Removed strconv from the architecture/package graph (“text & binary” group). |
Review details
- Files reviewed: 23/23 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Coverage Report for CI Build 6517Warning Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes. Coverage decreased (-0.1%) to 90.84%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
Remove the top-level
moonbitlang/core/strconvpackage.It was deprecated a long time ago: the parsing API (
parse_bool,parse_int,parse_int64,parse_uint,parse_uint64,parse_double,from_str, …)moved to
@string, and the implementation now lives ininternal/strconv, whichstringre-exports andjsonimports directly.The top-level package has been a deprecated compatibility layer since then.
This PR:
strconv/package (implementation, duplicated tests, README, generated interface);strconvfrom the package overview graph inREADME.md(internal/strconvis untouched, so nothing in the module changes behavior).Verification
moon check(module root): clean.moon test internal/strconv: 56/56 passed.moon test string: 278/278 passed.moon test json: 219/219 passed.No package in the module imports
moonbitlang/core/strconv(checked withrg).Generated with SeekMoon