diff --git a/src/feedbacks/mod.rs b/src/feedbacks/mod.rs index 93b266f717..f6047643e9 100644 --- a/src/feedbacks/mod.rs +++ b/src/feedbacks/mod.rs @@ -5,6 +5,7 @@ use crate::executors::Executor; use crate::observers::MapObserver; use num::Integer; +use std::marker::PhantomData; pub trait Feedback { /// is_interesting should return the "Interestingness" from 0 to 255 (percent times 2.55) @@ -27,12 +28,13 @@ pub trait MinReducer { } } -pub struct MapFeedback { +pub struct MapFeedback> { virgin_map: Vec, + _phantom: PhantomData, } -impl<'a, MapT: Integer + Copy + 'static, ReducerT: Reducer> Feedback for MapFeedback { - fn is_interesting(&mut self, executor: &dyn Executor, entry: &dyn Testcase) -> u8 { +impl<'a, MapT: Integer + Copy + 'static, ReducerT: Reducer> Feedback for MapFeedback { + fn is_interesting(&mut self, executor: &dyn Executor, _entry: &dyn Testcase) -> u8 { let mut interesting = 0; for observer in executor.get_observers() { if let Some(o) = observer.as_any().downcast_ref::>() { @@ -53,11 +55,12 @@ impl<'a, MapT: Integer + Copy + 'static, ReducerT: Reducer> Feedback for M } } -impl<'a, MapT: Integer + Copy + 'static> MapFeedback { +impl<'a, MapT: Integer + Copy + 'static, ReducerT: Reducer> MapFeedback { /// Create new MapFeedback using a static map observer pub fn new(map_size: usize) -> Self { MapFeedback { virgin_map: vec![MapT::zero(); map_size], + _phantom: PhantomData, } } }