1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
//! Writing suppressions back into the source, the way `cargo clippy --fix` does.
//!
//! A run knows exactly which mutants caused trouble and exactly where they live, so it can write the
//! directive rather than describing it. What makes that safe is a single rule and a single check.
//!
//! **The rule: a surviving mutant is never eligible.** Not by default, not behind a flag, not with a
//! force switch. A survivor is a real gap in the test suite, and a tool that offers to delete gaps
//! from its own denominator is a tool for manufacturing a mutation score. The moment this can hide a
//! survivor, every number the tool reports becomes unfalsifiable — so the refusal is structural: a
//! surviving verdict has no spelling that reaches this module.
//!
//! **The check: verify, do not assert.** A directive placed one line off, or attached to a
//! multi-line expression, can silently suppress a dozen unrelated mutants — including survivors,
//! which is the rule above being violated by accident rather than by design. So after writing,
//! discovery runs again and the suppressed set is compared: every intended mutant must now be
//! suppressed and nothing else may have become suppressed. If either half fails, the whole edit is
//! reverted.
pub use diff;
pub use Edit;
pub use Eligible;
pub use ;
pub use ;
pub use Verification;
pub use verify;