Skip to main content

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}