pub trait Serialize: WithSchema {
// Required method
fn serialize(
&self,
serializer: &mut Serializer<'_, impl Write>,
) -> Result<(), SavefileError>;
}Expand description
This trait must be implemented for all data structures you wish to be able to serialize.
To actually serialize data: create a Serializer, then call serialize on your data to save, giving the Serializer as an argument.
The most convenient way to implement this is to use
use savefile-derive::Savefile;
and the use #[derive(Serialize)]
Required Methods§
Sourcefn serialize(
&self,
serializer: &mut Serializer<'_, impl Write>,
) -> Result<(), SavefileError>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Serialize self into the given serializer.
In versions prior to 0.15, ‘Serializer’ did not accept a type parameter. It now requires a type parameter with the type of writer expected.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl Serialize for &str
impl Serialize for &str
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for IpAddr
impl Serialize for IpAddr
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for SocketAddr
impl Serialize for SocketAddr
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for bool
impl Serialize for bool
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for char
impl Serialize for char
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for f32
impl Serialize for f32
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for f64
impl Serialize for f64
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for i8
impl Serialize for i8
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for i16
impl Serialize for i16
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for i32
impl Serialize for i32
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for i64
impl Serialize for i64
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for i128
impl Serialize for i128
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for isize
impl Serialize for isize
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for str
impl Serialize for str
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for u8
impl Serialize for u8
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for u16
impl Serialize for u16
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for u32
impl Serialize for u32
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for u64
impl Serialize for u64
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for u128
impl Serialize for u128
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for ()
impl Serialize for ()
fn serialize( &self, _serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for usize
impl Serialize for usize
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for String
impl Serialize for String
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for Arc<str>
impl Serialize for Arc<str>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicBool
impl Serialize for AtomicBool
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicI8
impl Serialize for AtomicI8
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicI16
impl Serialize for AtomicI16
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicI32
impl Serialize for AtomicI32
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicI64
impl Serialize for AtomicI64
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicIsize
impl Serialize for AtomicIsize
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicU8
impl Serialize for AtomicU8
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicU16
impl Serialize for AtomicU16
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicU32
impl Serialize for AtomicU32
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicU64
impl Serialize for AtomicU64
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for AtomicUsize
impl Serialize for AtomicUsize
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for Duration
impl Serialize for Duration
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for Error
impl Serialize for Error
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for PathBuf
impl Serialize for PathBuf
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for SystemTime
impl Serialize for SystemTime
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for BitSet<u32>
Available on crate feature bit-set only.
impl Serialize for BitSet<u32>
Available on crate feature
bit-set only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for BitSet<u32>
Available on crate feature bit-set08 only.
impl Serialize for BitSet<u32>
Available on crate feature
bit-set08 only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for BitVec<u32>
Available on crate feature bit-vec only.
impl Serialize for BitVec<u32>
Available on crate feature
bit-vec only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for BitVec<u32>
Available on crate feature bit-vec08 only.
impl Serialize for BitVec<u32>
Available on crate feature
bit-vec08 only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl Serialize for DateTime<Utc>
Available on crate feature chrono only.
impl Serialize for DateTime<Utc>
Available on crate feature
chrono only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<'a, T: 'a + Serialize + ToOwned + ?Sized> Serialize for Cow<'a, T>
impl<'a, T: 'a + Serialize + ToOwned + ?Sized> Serialize for Cow<'a, T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<K: Serialize + Eq + Hash, S: BuildHasher> Serialize for IndexSet<K, S>
Available on crate feature indexmap only.
impl<K: Serialize + Eq + Hash, S: BuildHasher> Serialize for IndexSet<K, S>
Available on crate feature
indexmap only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<K: Serialize + Eq + Hash, V: Serialize, S: BuildHasher> Serialize for HashMap<K, V, S>
impl<K: Serialize + Eq + Hash, V: Serialize, S: BuildHasher> Serialize for HashMap<K, V, S>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<K: Serialize + Eq + Hash, V: Serialize, S: BuildHasher> Serialize for IndexMap<K, V, S>
Available on crate feature indexmap only.
impl<K: Serialize + Eq + Hash, V: Serialize, S: BuildHasher> Serialize for IndexMap<K, V, S>
Available on crate feature
indexmap only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<K: Serialize> Serialize for BTreeSet<K>
impl<K: Serialize> Serialize for BTreeSet<K>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<K: Serialize, S: BuildHasher> Serialize for HashSet<K, S>
impl<K: Serialize, S: BuildHasher> Serialize for HashSet<K, S>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<K: Serialize, V: Serialize> Serialize for BTreeMap<K, V>
impl<K: Serialize, V: Serialize> Serialize for BTreeMap<K, V>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T1: Serialize> Serialize for (T1,)
impl<T1: Serialize> Serialize for (T1,)
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T1: Serialize> Serialize for Range<T1>
impl<T1: Serialize> Serialize for Range<T1>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T1: Serialize, T2: Serialize> Serialize for (T1, T2)
impl<T1: Serialize, T2: Serialize> Serialize for (T1, T2)
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T1: Serialize, T2: Serialize, T3: Serialize> Serialize for (T1, T2, T3)
impl<T1: Serialize, T2: Serialize, T3: Serialize> Serialize for (T1, T2, T3)
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T> Serialize for PhantomData<T>
impl<T> Serialize for PhantomData<T>
fn serialize( &self, _serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Array> Serialize for SmallVec<T>
Available on crate feature smallvec only.
impl<T: Array> Serialize for SmallVec<T>
Available on crate feature
smallvec only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize + Ord> Serialize for BinaryHeap<T>
impl<T: Serialize + Ord> Serialize for BinaryHeap<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize + Copy> Serialize for Cell<T>
impl<T: Serialize + Copy> Serialize for Cell<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize + Packed> Serialize for &[T]
impl<T: Serialize + Packed> Serialize for &[T]
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize + Packed> Serialize for Box<[T]>
impl<T: Serialize + Packed> Serialize for Box<[T]>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize + Packed> Serialize for Arc<[T]>
impl<T: Serialize + Packed> Serialize for Arc<[T]>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize + Packed> Serialize for Vec<T>
impl<T: Serialize + Packed> Serialize for Vec<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize + Packed, const N: usize> Serialize for [T; N]
impl<T: Serialize + Packed, const N: usize> Serialize for [T; N]
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for Option<T>
impl<T: Serialize> Serialize for Option<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for Box<T>
impl<T: Serialize> Serialize for Box<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for VecDeque<T>
impl<T: Serialize> Serialize for VecDeque<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for Rc<T>
impl<T: Serialize> Serialize for Rc<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for Arc<T>
impl<T: Serialize> Serialize for Arc<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for RefCell<T>
impl<T: Serialize> Serialize for RefCell<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for Mutex<T>
impl<T: Serialize> Serialize for Mutex<T>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for Mutex<T>
Available on crate feature parking_lot only.
impl<T: Serialize> Serialize for Mutex<T>
Available on crate feature
parking_lot only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize> Serialize for RwLock<T>
Available on crate feature parking_lot only.
impl<T: Serialize> Serialize for RwLock<T>
Available on crate feature
parking_lot only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<T: Serialize, R: Serialize> Serialize for Result<T, R>
impl<T: Serialize, R: Serialize> Serialize for Result<T, R>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<V: Serialize + Packed, const C: usize> Serialize for ArrayVec<V, C>
Available on crate feature arrayvec only.
impl<V: Serialize + Packed, const C: usize> Serialize for ArrayVec<V, C>
Available on crate feature
arrayvec only.fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl<const C: usize> Serialize for ArrayString<C>
Available on crate feature arrayvec only.
impl<const C: usize> Serialize for ArrayString<C>
Available on crate feature
arrayvec only.