Skip to content

Update dependency cargo-mutants to v26#98

Merged
eirnym merged 1 commit intomainfrom
renovate/cargo-mutants-26.x
Dec 25, 2025
Merged

Update dependency cargo-mutants to v26#98
eirnym merged 1 commit intomainfrom
renovate/cargo-mutants-26.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 25, 2025

This PR contains the following updates:

Package Update Change
cargo-mutants (source) major 25.3.1 -> 26.0.0

Release Notes

sourcefrog/cargo-mutants (cargo-mutants)

v26.0.0

Compare Source

  • Changed: The default is now not to shuffle mutants: they run in the deterministic order they are generated in the source tree. This should give somewhat better locality of reference due to consecutively testing changes in each package or module. The previous behavior can be restored with --shuffle.

  • New: --cargo-test-arg option to pass additional arguments to cargo test.

  • New: --sharding option to control how mutants are distributed across multiple machines, with choices of slice or round-robin.

  • Changed: The default sharding strategy is now slice; previously it was round-robin. Sliced sharding gives each worker better locality of reference due to testing changes to related packages, but may make the runtime more uneven between workers if some packages are slower to test than others.

  • Changed: Tree copying now attempts to use reflinks (copy-on-write) for faster copying on supported filesystems (Btrfs, XFS, APFS), with automatic fallback to regular copying.

  • Book: Recommend using the -Zunstable-options --fail-fast argument to test targets to speed up mutation testing, on recent nightly toolchains.

  • Fixed: Don't error if the --in-diff patch file contains non-UTF-8 data in non-Rust files, or contains messages about binary files or git index changes.

  • New: start_time and end_time fields in outcomes.json.

  • New: Delete individual fields from struct literals that have a base (default) expression like ..Default::default() or ..base_value. This checks that tests verify each field is set correctly and not just relying on default values.

  • New: cargo_mutants_version field in outcomes.json.

  • Changed: Functions with attributes whose path ends with test are now skipped, not just those with the plain #[test] attribute. This means functions with #[tokio::test], #[sqlx::test], and similar testing framework attributes are automatically excluded from mutation testing.

  • Changed: The bitwise assignment operators &= and |= are no longer mutated to ^=. In code that accumulates bits into a bitmap starting from zero (e.g., bitmap |= new_bits), |= and ^= produce the same result, making such mutations uninformative.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/cargo-mutants-26.x branch from ae5f56e to d96edd7 Compare December 25, 2025 15:28
@eirnym eirnym merged commit 4f86de6 into main Dec 25, 2025
9 of 12 checks passed
@eirnym eirnym deleted the renovate/cargo-mutants-26.x branch December 25, 2025 15:32
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.

1 participant