Fix inifnite serialization for CmpValuesMetadata

This commit is contained in:
Andrea Fioraldi 2021-07-15 09:58:23 +02:00
parent ec4c5ae88a
commit ac783c6119

View File

@ -5,7 +5,7 @@ use alloc::{
vec::Vec, vec::Vec,
}; };
use serde::{de::DeserializeOwned, Deserialize, Serialize, Serializer}; use serde::{de::DeserializeOwned, Deserialize, Serialize};
use crate::{ use crate::{
bolts::{ownedref::OwnedRefMut, tuples::Named, AsSlice}, bolts::{ownedref::OwnedRefMut, tuples::Named, AsSlice},
@ -45,25 +45,15 @@ impl CmpValues {
} }
/// A state metadata holding a list of values logged from comparisons /// A state metadata holding a list of values logged from comparisons
#[derive(Default, Deserialize)] #[derive(Default, Serialize, Deserialize)]
pub struct CmpValuesMetadata { pub struct CmpValuesMetadata {
/// A `list` of values. /// A `list` of values.
#[serde(skip)]
pub list: Vec<CmpValues>, pub list: Vec<CmpValues>,
} }
crate::impl_serdeany!(CmpValuesMetadata); crate::impl_serdeany!(CmpValuesMetadata);
impl Serialize for CmpValuesMetadata {
/// Serialzie to an empty object, we don't need to keep it in State after reset
fn serialize<S>(&self, se: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
let empty = CmpValuesMetadata::new();
empty.serialize(se)
}
}
impl AsSlice<CmpValues> for CmpValuesMetadata { impl AsSlice<CmpValues> for CmpValuesMetadata {
/// Convert to a slice /// Convert to a slice
#[must_use] #[must_use]