This commit is contained in:
Andrea Fioraldi 2020-12-10 09:13:20 +01:00
parent 0b8308135d
commit e4983fca60

View File

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