Trait spacetimedb::Deserialize

source ·
pub trait Deserialize<'de>: Sized {
    // Required method
    fn deserialize<D>(
        deserializer: D
    ) -> Result<Self, <D as Deserializer<'de>>::Error>
       where D: Deserializer<'de>;
}
Expand description

A datastructure that can be deserialized from any data format supported by SATS.

In most cases, implementations of Deserialize may be #[derive(Deserialize)]d.

The Deserialize trait in SATS performs the same function as serde::Deserialize in serde. See the documentation of serde::Deserialize for more information of the data model.

The lifetime 'de allows us to deserialize lifetime-generic types in a zero-copy fashion.

Required Methods§

source

fn deserialize<D>( deserializer: D ) -> Result<Self, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given deserializer.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'de> Deserialize<'de> for &'de str

source§

fn deserialize<D>(de: D) -> Result<&'de str, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for &'de [u8]

source§

fn deserialize<D>(de: D) -> Result<&'de [u8], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for Cow<'de, str>

source§

fn deserialize<D>( de: D ) -> Result<Cow<'de, str>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for Cow<'de, [u8]>

source§

fn deserialize<D>( de: D ) -> Result<Cow<'de, [u8]>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for MiscModuleExport

source§

fn deserialize<D>( deserializer: D ) -> Result<MiscModuleExport, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for OpCmp

source§

fn deserialize<D>( deserializer: D ) -> Result<OpCmp, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for OpLogic

source§

fn deserialize<D>( deserializer: D ) -> Result<OpLogic, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for OpUnary

source§

fn deserialize<D>( deserializer: D ) -> Result<OpUnary, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for bool

source§

fn deserialize<D>(de: D) -> Result<bool, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for f32

source§

fn deserialize<D>(de: D) -> Result<f32, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for f64

source§

fn deserialize<D>(de: D) -> Result<f64, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for i8

source§

fn deserialize<D>(de: D) -> Result<i8, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for i16

source§

fn deserialize<D>(de: D) -> Result<i16, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for i32

source§

fn deserialize<D>(de: D) -> Result<i32, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for i64

source§

fn deserialize<D>(de: D) -> Result<i64, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for i128

source§

fn deserialize<D>(de: D) -> Result<i128, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for u8

source§

fn deserialize<D>( deserializer: D ) -> Result<u8, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for u16

source§

fn deserialize<D>(de: D) -> Result<u16, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for u32

source§

fn deserialize<D>(de: D) -> Result<u32, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for u64

source§

fn deserialize<D>(de: D) -> Result<u64, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for u128

source§

fn deserialize<D>(de: D) -> Result<u128, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for ()

source§

fn deserialize<D>(de: D) -> Result<(), <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for Box<str>

source§

fn deserialize<D>(de: D) -> Result<Box<str>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for String

source§

fn deserialize<D>(de: D) -> Result<String, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for ConstrainedFloat<f32, UnitConstraint<f32>>

source§

fn deserialize<D>( de: D ) -> Result<ConstrainedFloat<f32, UnitConstraint<f32>>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for ConstrainedFloat<f64, UnitConstraint<f64>>

source§

fn deserialize<D>( de: D ) -> Result<ConstrainedFloat<f64, UnitConstraint<f64>>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for AddressForUrl

source§

fn deserialize<D>( de: D ) -> Result<AddressForUrl, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for ModuleDef

source§

fn deserialize<D>( deserializer: D ) -> Result<ModuleDef, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for ReducerDef

source§

fn deserialize<D>( deserializer: D ) -> Result<ReducerDef, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for TableDesc

source§

fn deserialize<D>( deserializer: D ) -> Result<TableDesc, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for TypeAlias

source§

fn deserialize<D>( deserializer: D ) -> Result<TypeAlias, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for ColumnAttribute

source§

fn deserialize<D>( de: D ) -> Result<ColumnAttribute, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for Constraints

source§

fn deserialize<D>(de: D) -> Result<Constraints, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for ColId

source§

fn deserialize<D>(de: D) -> Result<ColId, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for IndexId

source§

fn deserialize<D>(de: D) -> Result<IndexId, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for SequenceId

source§

fn deserialize<D>(de: D) -> Result<SequenceId, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de> Deserialize<'de> for ColList

source§

fn deserialize<D>(de: D) -> Result<ColList, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
where K: Deserialize<'de> + Ord, V: Deserialize<'de>,

source§

fn deserialize<D>( de: D ) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de, T> Deserialize<'de> for Option<T>
where T: Deserialize<'de>,

source§

fn deserialize<D>(de: D) -> Result<Option<T>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de, T> Deserialize<'de> for Box<[T]>
where T: Deserialize<'de>,

source§

fn deserialize<D>(de: D) -> Result<Box<[T]>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de, T> Deserialize<'de> for Box<T>
where T: Deserialize<'de>,

source§

fn deserialize<D>(de: D) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de, T> Deserialize<'de> for Vec<T>
where T: Deserialize<'de>,

source§

fn deserialize<D>(de: D) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de, T, E> Deserialize<'de> for Result<T, E>
where T: Deserialize<'de>, E: Deserialize<'de>,

source§

fn deserialize<D>( de: D ) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

impl<'de, T, const N: usize> Deserialize<'de> for [T; N]
where T: Deserialize<'de>,

source§

fn deserialize<D>(de: D) -> Result<[T; N], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Implementors§

source§

impl<'de> Deserialize<'de> for AlgebraicType

source§

impl<'de> Deserialize<'de> for BuiltinType

source§

impl<'de> Deserialize<'de> for StAccess

source§

impl<'de> Deserialize<'de> for StTableType

source§

impl<'de> Deserialize<'de> for IndexType

source§

impl<'de> Deserialize<'de> for AlgebraicTypeRef

source§

impl<'de> Deserialize<'de> for ArrayType

source§

impl<'de> Deserialize<'de> for ColumnDef

source§

impl<'de> Deserialize<'de> for ConstraintDef

source§

impl<'de> Deserialize<'de> for IndexDef

source§

impl<'de> Deserialize<'de> for SequenceDef

source§

impl<'de> Deserialize<'de> for TableDef

source§

impl<'de> Deserialize<'de> for Hash

source§

impl<'de> Deserialize<'de> for MapType

source§

impl<'de> Deserialize<'de> for ProductType

source§

impl<'de> Deserialize<'de> for ProductTypeElement

source§

impl<'de> Deserialize<'de> for SumType

source§

impl<'de> Deserialize<'de> for SumTypeVariant

source§

impl<'de> Deserialize<'de> for Typespace

source§

impl<'de> Deserialize<'de> for Address

source§

impl<'de> Deserialize<'de> for Identity

source§

impl<'de> Deserialize<'de> for TableId

source§

impl<'de> Deserialize<'de> for Timestamp

source§

impl<'de, R> Deserialize<'de> for ScheduleToken<R>