Update malachite to 0.11 - #8604
Conversation
`malachite-bigint` 0.11.0 released while the workspace pinned 0.10.0. `pymath` requires `malachite-bigint = "0"`, so a fresh resolve picks 0.11 for it and leaves the workspace on 0.10, putting two incompatible copies of `BigInt` in one graph. `crates/stdlib/src/math.rs` then fails to compile, which is what the example projects do -- they carry no lockfile and resolve fresh on every run. `malachite-q` and `malachite-base` move with it; bumping `malachite-bigint` alone splits `malachite-nz` the same way. No source change is needed. Assisted-by: Claude
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe workspace updates ChangesMalachite dependency update
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized dependency update aligns the workspace and lockfile on malachite 0.11; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
malachite-bigint0.11.0 was published on 2026-08-28, while the workspacepinned 0.10.0.
pymathrequiresmalachite-bigint = "0"— every 0.x, deliberately, since"malachite upgrades minor version a lot". A fresh resolve therefore picks 0.11
for
pymathand leaves the workspace on 0.10, and cargo treats those asincompatible, so both end up in the graph:
The committed
Cargo.lockhides this for the workspace itself. The exampleprojects carry no lockfile —
example_projects/.gitignorehas*/Cargo.lock—so they resolve fresh on every run, which is why
Test example projectsis theonly job that broke, and why it broke on a commit that touched none of this.
malachite-qandmalachite-basemove withmalachite-bigint. Bumpingmalachite-biginton its own splitsmalachite-nzthe same way and fails inrustpython-commoninstead. With all three moved, no source change is needed.Nothing changes in
pymath: its"0"requirement covers 0.11, so both sidesunify there once the workspace does.
Tests
CI clippy for the workspace and for the wasm package, the workspace test
command, and both example projects —
frozen_stdlib, the one that fails onmain, now builds and runs.
Summary by CodeRabbit