- 1. Welcome
- 2. Installation
- 3. Getting started
- 4. Using the results
- 4.1. Hangs and timeouts
- 4.2. Exit codes
- 4.3. The mutants.out directory
- 5. Skipping untestable code
- 5.1. Skipping functions with an attribute
- 5.2. Skipping function calls
- 5.3. Filtering files
- 5.4. Filtering functions and mutants
- 6. Controlling cargo-mutants
- 6.1. Display and output
- 6.2. Listing and previewing mutations
- 6.3. Workspaces and packages
- 6.4. Passing options to Cargo
- 6.5. Copying the tree
- 6.6. Using nextest
- 6.7. Baseline tests
- 6.8. Testing in-place
- 6.9. Iterating on missed mutants
- 6.10. Strict lints
- 7. Generating mutants
- 7.1. Error values
- 7.2. Macros
- 8. Improving performance
- 8.1. Parallelism
- 8.2. Jobserver
- 8.3. Sharding
- 8.4. Testing code changed in a diff
- 9. Integrations
- 10. Continuous integration
- 10.1. Incremental tests of pull requests
- 11. How it works
- 11.1. Goals
- 11.2. Mutations vs coverage
- 11.3. Differences from fuzzing
- 11.4. Limitations
- 11.5. How to help
- 12. Stability
- 13. Changelog