pub struct As<F: ?Sized> { /* private fields */ }Expand description
Formula type that mirrors specified formula F.
It can be used to turn unsized field type into sized one,
keeping the same formula.
Example
ⓘ
type MyFormula = [str]; // Slice element type must be sized. `str` is unsized.
let mut buffer = [0u8; 22];
serialize::<MyFormula, _>(["qwe", "rty"], &mut buffer).unwrap();// Wrap usized type into As
type MyFormula = [As<str>]; // `As` is always size.
let mut buffer = [0u8; 22];
serialize::<MyFormula, _>(["qwe", "rty"], &mut buffer).unwrap();Trait Implementations§
source§impl<'de, F, T> Deserialize<'de, As<F>> for Twhere
F: BareFormula + ?Sized,
T: Deserialize<'de, F>,
impl<'de, F, T> Deserialize<'de, As<F>> for Twhere F: BareFormula + ?Sized, T: Deserialize<'de, F>,
source§fn deserialize(
deserializer: Deserializer<'de>
) -> Result<Self, DeserializeError>where
Self: Sized,
fn deserialize( deserializer: Deserializer<'de> ) -> Result<Self, DeserializeError>where Self: Sized,
Deserializes value provided deserializer.
Returns deserialized value and the number of bytes consumed from
the and of input. Read more
source§fn deserialize_in_place(
&mut self,
deserializer: Deserializer<'de>
) -> Result<(), DeserializeError>
fn deserialize_in_place( &mut self, deserializer: Deserializer<'de> ) -> Result<(), DeserializeError>
Deserializes value in-place provided deserializer.
Overwrites
self with data from the input. Read more