a small relational database with user-editable schema for manual data entry
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
yopa/yopa/src/serde_atomic_id.rs

19 lines
484 B

//! Serialize atomic ID by fetching its value
use crate::id::ID;
use serde::{Deserialize, Deserializer, Serialize};
pub fn serialize<S>(x: &atomic::Atomic<ID>, s: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
x.load(atomic::Ordering::Relaxed).serialize(s)
}
pub fn deserialize<'de, D>(deserializer: D) -> Result<atomic::Atomic<ID>, D::Error>
where
D: Deserializer<'de>,
{
let id: ID = ID::deserialize(deserializer)?;
Ok(atomic::Atomic::new(id))
}