Trait Serialize

Source
pub trait Serialize {
    // Required method
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
       where S: Serializer;
}
Expand description

A data structure that can be serialized into any data format supported by Serde.

Serde provides Serialize implementations for many Rust primitive and standard library types. The complete list is here. All of these can be serialized using Serde out of the box.

Additionally, Serde provides a procedural macro called serde_derive to automatically generate Serialize implementations for structs and enums in your program. See the derive section of the manual for how to use this.

In rare cases it may be necessary to implement Serialize manually for some type in your program. See the Implementing Serialize section of the manual for more about this.

Third-party crates may provide Serialize implementations for types that they expose. For example the linked-hash-map crate provides a LinkedHashMap<K, V> type that is serializable by Serde because the crate provides an implementation of Serialize for it.

Required Methods§

Source

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer.

See the Implementing Serialize section of the manual for more information about how to implement this method.

use serde::ser::{Serialize, SerializeStruct, Serializer};

struct Person {
    name: String,
    age: u8,
    phones: Vec<String>,
}

// This is what #[derive(Serialize)] would generate.
impl Serialize for Person {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        let mut s = serializer.serialize_struct("Person", 3)?;
        s.serialize_field("name", &self.name)?;
        s.serialize_field("age", &self.age)?;
        s.serialize_field("phones", &self.phones)?;
        s.end()
    }
}

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 IpAddr

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for SocketAddr

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for bool

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for char

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for f32

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for f64

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for i8

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for i16

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for i32

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for i64

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for i128

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for isize

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for str

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for u8

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for u16

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for u32

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for u64

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for u128

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for ()

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for usize

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for CString

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for String

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for CStr

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for Ipv4Addr

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for Ipv6Addr

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for SocketAddrV4

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for SocketAddrV6

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicBool

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicI8

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicI16

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicI32

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicI64

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicIsize

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicU8

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicU16

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicU32

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicU64

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for AtomicUsize

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for Duration

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for OsStr

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for OsString

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for Path

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for PathBuf

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for SystemTime

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroI8

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroI16

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroI32

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroI64

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroI128

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroIsize

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroU8

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroU16

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroU32

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroU64

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroU128

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl Serialize for NonZeroUsize

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<'a> Serialize for Arguments<'a>

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<'a, T> Serialize for Cow<'a, T>
where T: ?Sized + Serialize + ToOwned,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<'a, T> Serialize for &'a T
where T: ?Sized + Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<'a, T> Serialize for &'a mut T
where T: ?Sized + Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<Idx> Serialize for Range<Idx>
where Idx: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<Idx> Serialize for RangeFrom<Idx>
where Idx: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<Idx> Serialize for RangeInclusive<Idx>
where Idx: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<Idx> Serialize for RangeTo<Idx>
where Idx: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<K, V> Serialize for BTreeMap<K, V>
where K: Serialize, V: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<K, V, H> Serialize for HashMap<K, V, H>
where K: Serialize, V: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1> Serialize for (T0, T1)
where T0: Serialize, T1: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2> Serialize for (T0, T1, T2)
where T0: Serialize, T1: Serialize, T2: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3> Serialize for (T0, T1, T2, T3)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4> Serialize for (T0, T1, T2, T3, T4)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5> Serialize for (T0, T1, T2, T3, T4, T5)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6> Serialize for (T0, T1, T2, T3, T4, T5, T6)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize, T8: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize, T8: Serialize, T9: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize, T8: Serialize, T9: Serialize, T10: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize, T8: Serialize, T9: Serialize, T10: Serialize, T11: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize, T8: Serialize, T9: Serialize, T10: Serialize, T11: Serialize, T12: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize, T8: Serialize, T9: Serialize, T10: Serialize, T11: Serialize, T12: Serialize, T13: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize, T8: Serialize, T9: Serialize, T10: Serialize, T11: Serialize, T12: Serialize, T13: Serialize, T14: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Serialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T0: Serialize, T1: Serialize, T2: Serialize, T3: Serialize, T4: Serialize, T5: Serialize, T6: Serialize, T7: Serialize, T8: Serialize, T9: Serialize, T10: Serialize, T11: Serialize, T12: Serialize, T13: Serialize, T14: Serialize, T15: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Bound<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Option<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 0]

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 1]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 2]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 3]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 4]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 5]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 6]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 7]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 8]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 9]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 10]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 11]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 12]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 13]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 14]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 15]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 16]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 17]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 18]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 19]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 20]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 21]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 22]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 23]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 24]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 25]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 26]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 27]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 28]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 29]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 30]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 31]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T; 32]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T]
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for (T,)
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Box<T>
where T: ?Sized + Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for BinaryHeap<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for BTreeSet<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for LinkedList<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for VecDeque<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Rc<T>
where T: ?Sized + Serialize,

This impl requires the "rc" Cargo feature of Serde.

Serializing a data structure containing Rc will serialize a copy of the contents of the Rc each time the Rc is referenced within the data structure. Serialization will not attempt to deduplicate these repeated data.

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for RcWeak<T>
where T: ?Sized + Serialize,

This impl requires the "rc" Cargo feature of Serde.

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Arc<T>
where T: ?Sized + Serialize,

This impl requires the "rc" Cargo feature of Serde.

Serializing a data structure containing Arc will serialize a copy of the contents of the Arc each time the Arc is referenced within the data structure. Serialization will not attempt to deduplicate these repeated data.

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for ArcWeak<T>
where T: ?Sized + Serialize,

This impl requires the "rc" Cargo feature of Serde.

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Vec<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Cell<T>
where T: Serialize + Copy,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for RefCell<T>
where T: ?Sized + Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Reverse<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for PhantomData<T>
where T: ?Sized,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Saturating<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Wrapping<T>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for Mutex<T>
where T: ?Sized + Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T> Serialize for RwLock<T>
where T: ?Sized + Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T, E> Serialize for Result<T, E>
where T: Serialize, E: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Source§

impl<T, H> Serialize for HashSet<T, H>
where T: Serialize,

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Implementors§

impl Serialize for AbiItem<'_>

impl Serialize for Error

impl Serialize for Event

impl Serialize for Param

impl Serialize for TxKind

impl Serialize for Bloom

impl Serialize for Bytes

impl<T> Serialize for Sealed<T>
where T: Serialize,

impl<T: Serialize> Serialize for Log<T>

impl<const BITS: usize, const LIMBS: usize> Serialize for Signed<BITS, LIMBS>

impl<const N: usize> Serialize for FixedBytes<N>

impl Serialize for Bytes

impl Serialize for Node

impl Serialize for Source

impl Serialize for Target

impl Serialize for Fq

impl Serialize for Fr

impl Serialize for G1

impl Serialize for G2

impl Serialize for Fq

impl Serialize for Fr

impl Serialize for G1

impl Serialize for G2

impl Serialize for G1

impl Serialize for Fp

impl Serialize for Fq

impl Serialize for Pallas

impl Serialize for Vesta

impl Serialize for Eris

impl Serialize for Fp

impl Serialize for Fq

impl Serialize for G1

impl Serialize for G2

impl Serialize for Fp

impl Serialize for Fq

impl Serialize for Fp

impl Serialize for Fq

impl<F> Serialize for QuadExtField<F>
where F: Serialize + Field,

impl<const T: usize> Serialize for Repr<T>

impl Serialize for Fq

impl Serialize for Fq2

impl Serialize for Fr

impl Serialize for G1

impl Serialize for G2

impl Serialize for Fq

impl Serialize for Fr

impl Serialize for G1

impl Serialize for Eris

impl Serialize for Fp

impl Serialize for Fq

impl Serialize for G1

impl Serialize for G2

impl Serialize for Fp

impl Serialize for Fq

impl Serialize for Fp

impl Serialize for Fq

impl<K, V, H, A> Serialize for HashMap<K, V, H, A>
where K: Serialize + Eq + Hash, V: Serialize, H: BuildHasher, A: Allocator,

impl<T, H, A> Serialize for HashSet<T, H, A>
where T: Serialize + Eq + Hash, H: BuildHasher, A: Allocator,

impl Serialize for Sign

impl Serialize for BigInt

impl<T, const READ_LIMBS: usize> Serialize for ModularIsEqualCoreRecord<T, READ_LIMBS>
where T: Serialize,

impl Serialize for Int256

impl Serialize for I256

impl Serialize for U256

impl Serialize for ChipId

impl<F> Serialize for PublicValuesRecord<F>
where F: Serialize,

impl<F, const W: usize> Serialize for NativeWriteRecord<F, W>
where F: Field,

impl<F: Field, const R: usize> Serialize for NativeReadRecord<F, R>

impl<T> Serialize for MemoryLogEntry<T>
where T: Serialize,

impl<T> Serialize for ExecutionState<T>
where T: Serialize,

impl<T> Serialize for TestAdapterRecord<T>
where T: Serialize,

impl<T> Serialize for ConnectorCols<T>
where T: Serialize,

impl<T> Serialize for PhantomCols<T>
where T: Serialize,

impl<T, const PAGE_SIZE: usize> Serialize for AddressMap<T, PAGE_SIZE>
where T: Serialize,

impl<T, const PAGE_SIZE: usize> Serialize for PagedVec<T, PAGE_SIZE>
where T: Serialize,

impl<const CHUNK: usize, F> Serialize for UserPublicValuesProof<CHUNK, F>

impl<F> Serialize for AffinePoint<F>
where F: Serialize,

impl<F> Serialize for VmExe<F>
where F: Serialize,

impl<F> Serialize for Instruction<F>
where F: Serialize,

impl<F> Serialize for Program<F>
where F: Serialize,

impl<F> Serialize for KeccakRecord<F>
where F: Serialize,

impl Serialize for Native

impl<F> Serialize for IncorporateRowRecord<F>
where F: Field,

impl<F> Serialize for IncorporateSiblingRecord<F>
where F: Field,

impl<F> Serialize for InsideRowRecord<F>
where F: Field,

impl<F> Serialize for NativePoseidon2RecordSet<F>
where F: Field,

impl<F> Serialize for SimplePoseidonRecord<F>
where F: Field,

impl<F> Serialize for TopLevelRecord<F>
where F: Field,

impl<F> Serialize for VerifyBatchRecord<F>
where F: Field,

impl<F> Serialize for CastFRecord<F>
where F: Serialize,

impl<F> Serialize for FieldArithmeticRecord<F>
where F: Serialize,

impl<F> Serialize for FieldExtensionRecord<F>
where F: Serialize,

impl<F> Serialize for FriReducedOpeningRecord<F>
where F: Field,

impl<F, const NUM_CELLS: usize> Serialize for NativeLoadStoreReadRecord<F, NUM_CELLS>
where F: Field,

impl<F, const NUM_CELLS: usize> Serialize for NativeLoadStoreWriteRecord<F, NUM_CELLS>
where F: Field,

impl<F, const NUM_CELLS: usize> Serialize for NativeLoadStoreCoreRecord<F, NUM_CELLS>
where F: Serialize,

impl<const NUM_READS: usize, const READ_SIZE: usize> Serialize for VectorReadRecord<NUM_READS, READ_SIZE>

impl<const WRITE_SIZE: usize> Serialize for VectorWriteRecord<WRITE_SIZE>

impl<C> Serialize for DslIr<C>
where C: Serialize + Config, C::N: Serialize, C::F: Serialize, C::EF: Serialize,

impl<C: Config> Serialize for Witness<C>

impl<C: Config, T> Serialize for Array<C, T>
where T: Serialize,

impl<F> Serialize for Felt<F>

impl<F, EF> Serialize for Ext<F, EF>

impl<N> Serialize for RVar<N>
where N: Serialize,

impl<N> Serialize for Usize<N>
where N: Serialize,

impl<N> Serialize for MemIndex<N>
where N: Serialize,

impl<N> Serialize for Ptr<N>
where N: Serialize,

impl<N> Serialize for Var<N>

impl<T> Serialize for TracedVec<T>
where T: Serialize,

impl<C> Serialize for DslOperations<C>
where C: Serialize + Config,

impl<F> Serialize for SexticExtField<F>
where F: Serialize,

impl Serialize for Stats

impl Serialize for Metric

impl<F, const BLOCKS_PER_READ1: usize, const BLOCKS_PER_READ2: usize, const READ_SIZE: usize> Serialize for Rv32VecHeapTwoReadsReadRecord<F, BLOCKS_PER_READ1, BLOCKS_PER_READ2, READ_SIZE>
where F: Field,

impl<F, const NUM_READS: usize, const BLOCKS_PER_READ: usize, const READ_SIZE: usize> Serialize for Rv32VecHeapReadRecord<F, NUM_READS, BLOCKS_PER_READ, READ_SIZE>
where F: Field,

impl<const BLOCKS_PER_WRITE: usize, const WRITE_SIZE: usize> Serialize for Rv32VecHeapTwoReadsWriteRecord<BLOCKS_PER_WRITE, WRITE_SIZE>

impl<const BLOCKS_PER_WRITE: usize, const WRITE_SIZE: usize> Serialize for Rv32VecHeapWriteRecord<BLOCKS_PER_WRITE, WRITE_SIZE>

impl<const NUM_READS: usize, const BLOCKS_PER_READ: usize, const BLOCK_SIZE: usize> Serialize for Rv32IsEqualModReadRecord<NUM_READS, BLOCKS_PER_READ, BLOCK_SIZE>

impl<const NUM_READS: usize, const READ_SIZE: usize> Serialize for Rv32HeapBranchReadRecord<NUM_READS, READ_SIZE>

impl Serialize for Rv32I

impl Serialize for Rv32Io

impl Serialize for Rv32M

impl<F> Serialize for Rv32BaseAluReadRecord<F>
where F: Field,

impl<F> Serialize for Rv32BaseAluWriteRecord<F>
where F: Field,

impl<F> Serialize for Rv32LoadStoreReadRecord<F>
where F: Field,

impl<F> Serialize for Rv32LoadStoreWriteRecord<F>
where F: Field,

impl<F> Serialize for Rv32AuipcCoreRecord<F>
where F: Serialize,

impl<F> Serialize for Rv32HintStoreRecord<F>
where F: Field,

impl<F> Serialize for Rv32JalLuiCoreRecord<F>
where F: Field,

impl<F> Serialize for Rv32JalrCoreRecord<F>
where F: Serialize,

impl<F, const NUM_CELLS: usize> Serialize for LoadSignExtendCoreRecord<F, NUM_CELLS>

impl<F, const NUM_CELLS: usize> Serialize for LoadStoreCoreRecord<F, NUM_CELLS>

impl<T, const NUM_LIMBS: usize> Serialize for BranchEqualCoreRecord<T, NUM_LIMBS>
where T: Serialize,

impl<T, const NUM_LIMBS: usize, const LIMB_BITS: usize> Serialize for BaseAluCoreRecord<T, NUM_LIMBS, LIMB_BITS>

impl<T, const NUM_LIMBS: usize, const LIMB_BITS: usize> Serialize for BranchLessThanCoreRecord<T, NUM_LIMBS, LIMB_BITS>
where T: Serialize,

impl<T, const NUM_LIMBS: usize, const LIMB_BITS: usize> Serialize for DivRemCoreRecord<T, NUM_LIMBS, LIMB_BITS>

impl<T, const NUM_LIMBS: usize, const LIMB_BITS: usize> Serialize for LessThanCoreRecord<T, NUM_LIMBS, LIMB_BITS>

impl<T, const NUM_LIMBS: usize, const LIMB_BITS: usize> Serialize for MulHCoreRecord<T, NUM_LIMBS, LIMB_BITS>
where T: Serialize,

impl<T, const NUM_LIMBS: usize, const LIMB_BITS: usize> Serialize for MultiplicationCoreRecord<T, NUM_LIMBS, LIMB_BITS>

impl<T, const NUM_LIMBS: usize, const LIMB_BITS: usize> Serialize for ShiftCoreRecord<T, NUM_LIMBS, LIMB_BITS>

impl Serialize for StdIn

impl<VC> Serialize for AppConfig<VC>
where VC: Serialize,

impl<VC> Serialize for AppProvingKey<VC>
where VC: Serialize,

impl Serialize for Sha256

impl<F> Serialize for Sha256Record<F>
where F: Serialize,

impl Serialize for Entry

impl<Challenge> Serialize for AdjacentOpenedValues<Challenge>
where Challenge: Serialize,

impl<Challenge> Serialize for OpenedValues<Challenge>
where Challenge: Serialize,

impl<Com> Serialize for VerifierSinglePreprocessedData<Com>
where Com: Serialize,

impl<Com> Serialize for Commitments<Com>
where Com: Serialize,

impl<Expr> Serialize for Interaction<Expr>
where Expr: Serialize,

impl<F> Serialize for SymbolicExpression<F>
where F: Field,

impl<F> Serialize for SymbolicExpressionDag<F>
where F: Serialize,

impl<PB: ProverBackend> Serialize for HalProof<PB>

impl<PcsProof, Challenge> Serialize for OpeningProof<PcsProof, Challenge>
where PcsProof: Serialize, Challenge: Serialize,

impl<Val, Challenge> Serialize for AirProofData<Val, Challenge>
where Val: Serialize, Challenge: Serialize,

impl<Val, Com> Serialize for StarkVerifyingKey<Val, Com>
where Val: Serialize, Com: Serialize,

impl<Witness> Serialize for FriLogUpPartialProof<Witness>
where Witness: Serialize,

impl<T> Serialize for StarkHashStatistics<T>
where T: Serialize,

impl<FA, const D: usize> Serialize for BinomialExtensionField<FA, D>
where FA: Serialize,

impl<F: Field, M: Mmcs<F>> Serialize for CommitPhaseProofStep<F, M>

impl<F: Field, M: Mmcs<F>, InputProof> Serialize for QueryProof<F, M, InputProof>
where InputProof: Serialize,

impl<F: Field, M: Mmcs<F>, Witness, InputProof> Serialize for FriProof<F, M, Witness, InputProof>
where Witness: Serialize, InputProof: Serialize,

impl<Val: Field, InputMmcs: Mmcs<Val>> Serialize for BatchOpening<Val, InputMmcs>

impl<T, V> Serialize for DenseMatrix<T, V>
where V: Serialize,

impl<F, W, M, const DIGEST_ELEMS: usize> Serialize for MerkleTree<F, W, M, DIGEST_ELEMS>

impl<F, W, const DIGEST_ELEMS: usize> Serialize for Hash<F, W, DIGEST_ELEMS>

impl<Challenge> Serialize for OpenedValues<Challenge>
where Challenge: Serialize,

impl<Com> Serialize for Commitments<Com>
where Com: Serialize,

impl<const BITS: usize, const LIMBS: usize> Serialize for Bits<BITS, LIMBS>

impl<const BITS: usize, const LIMBS: usize> Serialize for Uint<BITS, LIMBS>

impl<T: Serialize, const N: usize> Serialize for Array<T, N>

impl Serialize for Value

impl Serialize for Number

impl<T: Serialize> Serialize for Spanned<T>

impl<T, U> Serialize for SerializeAsWrap<'_, T, U>
where T: ?Sized, U: ?Sized + SerializeAs<T>,

impl<F> Serialize for Domain<F>
where F: Serialize + PrimeField,

impl Serialize for Snark

impl Serialize for Value

impl Serialize for Date

impl Serialize for Time