assay_sim/mutators/truncate.rs
1use super::Mutator;
2use anyhow::Result;
3
4pub struct Truncate {
5 pub at: usize,
6}
7
8impl Mutator for Truncate {
9 fn mutate(&self, data: &[u8]) -> Result<Vec<u8>> {
10 let mut corrupted = data.to_vec();
11 if self.at < corrupted.len() {
12 corrupted.truncate(self.at);
13 }
14 Ok(corrupted)
15 }
16}