pub trait Deserializable:
Sized
+ From<Option<Self>>
+ From<bool>
+ From<Binary>
+ From<f32>
+ From<f64>
+ From<u8>
+ From<u16>
+ From<u32>
+ From<u64>
+ From<i8>
+ From<i16>
+ From<i32>
+ From<i64>
+ From<String>
+ From<Vec<Self>>
+ From<BTreeMap<String, Self>>
+ From<Extension>
+ From<DateTime<Utc>> {
// Provided methods
fn deserialize<R: Read>(
buf_reader: &mut R,
) -> Result<Self, DeserializeError> { ... }
fn deserialize_binary<R: Read>(
size: usize,
buf_reader: &mut R,
) -> Result<Self, DeserializeError> { ... }
fn deserialize_string<R: Read>(
size: usize,
buf_reader: &mut R,
) -> Result<Self, DeserializeError> { ... }
fn deserialize_array<R: Read>(
size: usize,
buf_reader: &mut R,
) -> Result<Self, DeserializeError> { ... }
fn deserialize_map<R: Read>(
size: usize,
buf_reader: &mut R,
) -> Result<Self, DeserializeError> { ... }
fn deserialize_extension<R: Read>(
size: usize,
buf_reader: &mut R,
) -> Result<Self, DeserializeError> { ... }
fn deserialize_extension_for_the_you_type_defined<R: Read>(
t: i8,
size: usize,
buf_reader: &mut R,
) -> Result<Self, DeserializeError> { ... }
fn deserialize_extension_others<R: Read>(
t: i8,
size: usize,
buf_reader: &mut R,
) -> Result<Self, DeserializeError> { ... }
}
Provided Methods§
Sourcefn deserialize<R: Read>(buf_reader: &mut R) -> Result<Self, DeserializeError>
fn deserialize<R: Read>(buf_reader: &mut R) -> Result<Self, DeserializeError>
Examples found in repository?
More examples
fn deserialize_binary<R: Read>( size: usize, buf_reader: &mut R, ) -> Result<Self, DeserializeError>
fn deserialize_string<R: Read>( size: usize, buf_reader: &mut R, ) -> Result<Self, DeserializeError>
fn deserialize_array<R: Read>( size: usize, buf_reader: &mut R, ) -> Result<Self, DeserializeError>
fn deserialize_map<R: Read>( size: usize, buf_reader: &mut R, ) -> Result<Self, DeserializeError>
fn deserialize_extension<R: Read>( size: usize, buf_reader: &mut R, ) -> Result<Self, DeserializeError>
fn deserialize_extension_for_the_you_type_defined<R: Read>( t: i8, size: usize, buf_reader: &mut R, ) -> Result<Self, DeserializeError>
Sourcefn deserialize_extension_others<R: Read>(
t: i8,
size: usize,
buf_reader: &mut R,
) -> Result<Self, DeserializeError>
fn deserialize_extension_others<R: Read>( t: i8, size: usize, buf_reader: &mut R, ) -> Result<Self, DeserializeError>
Examples found in repository?
examples/extension2.rs (line 94)
85 fn deserialize_extension_for_the_you_type_defined<R: Read>(t: i8, size: usize, buf_reader: &mut R) -> Result<Self, DeserializeError> {
86 if t == 0 {
87 Ok(From::from(Rgba {
88 r: buf_reader.read_u8().or(Err(DeserializeError::InvalidValue))?,
89 g: buf_reader.read_u8().or(Err(DeserializeError::InvalidValue))?,
90 b: buf_reader.read_u8().or(Err(DeserializeError::InvalidValue))?,
91 a: buf_reader.read_u8().or(Err(DeserializeError::InvalidValue))?,
92 }))
93 } else {
94 Self::deserialize_extension_others(t, size, buf_reader)
95 }
96 }
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.