[package] authors = ["Nick Fitzgerald "] categories = ["development-tools::testing"] description = "`mutatis` is a library for writing custom, structure-aware test-case mutators for fuzzers in Rust." documentation = "https://docs.rs/mutatis" edition = "2021" keywords = ["arbitrary", "fuzzing", "fuzzer", "mutation", "testing"] license = "MIT OR Apache-2.0" name = "mutatis" readme = "README.md" # XXX: Keep this in sync with the version in `derive/Cargo.toml`. version = "0.3.0" # XXX: Keep this in sync with the MSRV documented in `src/_guide/msrv.rs` and # the `rust-version` in `derive/Cargo.toml`. rust-version = "1.80.0" [features] # Implement `Mutator`s for types in Rust's `alloc` crate and internally use # features that the `alloc` crate provides. alloc = [] # Implement `Mutator`s for types in Rust's `std` crate and internally use # features that the `std` crate provides. std = ["alloc"] # Enable logging with the `log` crate. log = ["dep:log"] # Enable the `mutatis::check` module, which provides a small framework for # property-based testing built on top of `mutatis::Mutator`. check = ["std", "log"] # Enable the `derive(Mutator)` macro for automatically deriving `Mutator` # implementations for custom types. derive = ["dep:mutatis-derive"] [package.metadata.docs.rs] all-features = true [dependencies] rand = { version = "0.8.5", default-features = false, features = ["small_rng"] } mutatis-derive = { version = "=0.3.0", path = "derive", optional = true } log = { version = "0.4.22", optional = true } [dev-dependencies] anyhow = "1.0.86" env_logger = "0.11.5" libfuzzer-sys = "0.4.7" [workspace]