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§
Auto Trait Implementations§
impl<F: ?Sized> RefUnwindSafe for As<F>
impl<F: ?Sized> Send for As<F>
impl<F: ?Sized> Sync for As<F>
impl<F: ?Sized> Unpin for As<F>
impl<F: ?Sized> UnwindSafe for As<F>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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<T, DeserializeError>
fn deserialize(deserializer: Deserializer<'de>) -> Result<T, DeserializeError>
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 moresource§impl<'de, F, T> Deserialize<'de, Ref<F>> for Twhere
F: BareFormula + ?Sized,
T: Deserialize<'de, F> + ?Sized,
impl<'de, F, T> Deserialize<'de, Ref<F>> for Twhere F: BareFormula + ?Sized, T: Deserialize<'de, F> + ?Sized,
source§fn deserialize(de: Deserializer<'de>) -> Result<T, DeserializeError>
fn deserialize(de: Deserializer<'de>) -> Result<T, DeserializeError>
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,
de: Deserializer<'de>
) -> Result<(), DeserializeError>
fn deserialize_in_place( &mut self, de: Deserializer<'de> ) -> Result<(), DeserializeError>
Deserializes value in-place provided deserializer.
Overwrites
self
with data from the input
. Read more