Skip to main content

max / shop

shop-vt: the mutants config lives at the workspace root, measured cargo-mutants 27.1.0 reads .cargo/mutants.toml from the workspace root and nowhere else. A crates/shop-vt/.cargo/mutants.toml is ignored in silence: both `cargo mutants -p shop-vt` from the root and `cargo mutants` run inside the crate listed all 191 mutants with it in place, and 170 with the same file one directory up. Every pattern is qualified by its type, so one file covers the workspace.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_01DwpiantpUgohzML4xr6KeQ
Author: Max Johnson <me@maxj.phd> · 2026-08-31 15:36 UTC
Signed with PGP, not checked
Commit: 1cfcfb214657e33b5681d0a59e4116be451c0f85
Parent: 48783ef
1 file changed, +9 insertions, -0 deletions
@@ -1,6 +1,14 @@
1 1 # Mutants that NO test can kill, with the reason each one is unreachable by any
2 2 # test that could be written.
3 3 #
4 + # WHY THIS IS AT THE WORKSPACE ROOT AND NOT PER-CRATE. Measured against
5 + # cargo-mutants 27.1.0: the config is read from the workspace root and nowhere
6 + # else. A `crates/shop-vt/.cargo/mutants.toml` is silently ignored -- both
7 + # `cargo mutants -p shop-vt` from here and `cargo mutants` run inside the crate
8 + # directory listed the full 191 mutants with it in place, and 170 with the same
9 + # file here. So one file covers the workspace, and every pattern is qualified by
10 + # the type it belongs to (`Perform::`, `Parser::`) rather than relying on scope.
11 + #
4 12 # THE BAR IS IMPOSSIBILITY, NOT COST. A mutant that a test could kill, where
5 13 # nobody has written that test, does not belong here however unappealing the
6 14 # test looks. It stays a visible survivor with a GoingsOn task against it. The
@@ -12,6 +20,7 @@
12 20 # is an empty alternation and silently excludes every mutant in the crate.
13 21
14 22 exclude_re = [
23 + # ===================== shop-vt =====================
15 24 # --- Default trait method bodies -------------------------------------
16 25 #
17 26 # Every `Perform` method has a default body of the form `let _ = args;`,