1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
pub use sanitizeable_derive::sanitizeable; pub trait Sanitizeable: Sized { type Public; type Private; fn from_private(private: Self::Private) -> Self; fn public(&self) -> &Self::Public; fn public_mut(&mut self) -> &mut Self::Public; fn private(&self) -> &Self::Private; fn private_mut(&mut self) -> &mut Self::Private; fn into_private(self) -> Self::Private; }