(&mut self, id: InputId)
| 239 | } |
| 240 | |
| 241 | fn remove_global_metadata(&mut self, id: InputId) { |
| 242 | let entry = &mut self.test_cases[id]; |
| 243 | self.metadata.total_input_bytes -= entry.data.total_bytes(); |
| 244 | self.metadata.total_instructions -= entry.metadata.instructions; |
| 245 | |
| 246 | // @fixme: avoid this expensive loop |
| 247 | for entry in self.coverage_hits.values_mut() { |
| 248 | entry.retain(|x| *x != id); |
| 249 | } |
| 250 | |
| 251 | for (key, entry) in &entry.data.streams { |
| 252 | if entry.bytes.is_empty() { |
| 253 | continue; |
| 254 | } |
| 255 | let Some(stream_metadata) = self.metadata.streams.get_mut(key) |
| 256 | else { |
| 257 | continue; |
| 258 | }; |
| 259 | stream_metadata.num_inputs -= 1; |
| 260 | stream_metadata.total_bytes -= entry.bytes.len(); |
| 261 | } |
| 262 | } |
| 263 | } |
| 264 | |
| 265 | impl<D> std::ops::Index<InputId> for CorpusStore<D> { |
no test coverage detected