diff --git a/afl/src/observers/mod.rs b/afl/src/observers/mod.rs index 518505b7b5..8ca330ca9e 100644 --- a/afl/src/observers/mod.rs +++ b/afl/src/observers/mod.rs @@ -66,7 +66,7 @@ where #[derive(Serialize, Deserialize)] pub struct StdMapObserver where - T: Integer + Copy + 'static, + T: Integer + Copy + 'static + serde::Serialize + serde::Deserialize<'static>, { map: SliceMut<'static, T>, initial: T, @@ -75,7 +75,7 @@ where impl Observer for StdMapObserver where - T: Integer + Copy + 'static + serde::Serialize, + T: Integer + Copy + 'static + serde::Serialize + serde::Deserialize<'static>, { fn reset(&mut self) -> Result<(), AflError> { self.reset_map() @@ -88,7 +88,7 @@ where impl SerdeAny for StdMapObserver where - T: Integer + Copy + 'static + serde::Serialize, + T: Integer + Copy + 'static + serde::Serialize + serde::Deserialize<'static>, { fn as_any(&self) -> &dyn Any { self @@ -100,7 +100,7 @@ where impl MapObserver for StdMapObserver where - T: Integer + Copy, + T: Integer + Copy + 'static + serde::Serialize + serde::Deserialize<'static>, { fn map(&self) -> &[T] { match &self.map { @@ -131,10 +131,11 @@ where impl StdMapObserver where - T: Integer + Copy, + T: Integer + Copy + 'static + serde::Serialize + serde::Deserialize<'static>, { /// Creates a new MapObserver pub fn new(name: &'static str, map: &'static mut [T]) -> Self { + observer_serde::RegistryBuilder::register::(); let initial = if map.len() > 0 { map[0] } else { T::zero() }; Self { map: SliceMut::Ref(map),