Skip to content

refactor: remove the deprecated strconv package - #4193

Merged
bobzhang merged 1 commit into
mainfrom
remove-strconv
Sep 3, 2026
Merged

refactor: remove the deprecated strconv package#4193
bobzhang merged 1 commit into
mainfrom
remove-strconv

Conversation

@bobzhang

@bobzhang bobzhang commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Remove the top-level moonbitlang/core/strconv package.

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 in
internal/strconv, which string re-exports and json imports directly.
The top-level package has been a deprecated compatibility layer since then.

This PR:

  • deletes the deprecated strconv/ package (implementation, duplicated tests, README, generated interface);
  • drops strconv from the package overview graph in README.md (internal/strconv is 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 with rg).

Generated with SeekMoon

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>
Copilot AI lite review requested due to automatic review settings September 3, 2026 06:05
@bobzhang
bobzhang merged commit 03c2e7b into main Sep 3, 2026
17 checks passed
@bobzhang
bobzhang deleted the remove-strconv branch September 3, 2026 06:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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 strconv from 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.

@coveralls

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 6517

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage decreased (-0.1%) to 90.84%

Details

  • Coverage decreased (-0.1%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 18210
Covered Lines: 16542
Line Coverage: 90.84%
Coverage Strength: 274536.99 hits per line

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants