#[macro_export] macro_rules! bitflags_serde_impl { ($type:ident, $int_type:ident) => { impl serde::Serialize for $type { fn serialize(&self, serializer: S) -> Result { serializer.serialize_i64(self.bits() as i64) } } impl<'de> serde::Deserialize<'de> for $type { fn deserialize>(deserializer: D) -> Result { let v: i64 = Deserialize::deserialize(deserializer)?; Ok($type::from_bits_truncate(v as $int_type)) } } }; }