Struct serde::ser::Impossible
[−]
[src]
pub struct Impossible<Ok, E> { /* fields omitted */ }
Helper type for implementing a Serializer
that does not support
serializing one of the compound types.
This type cannot be instantiated, but implements every one of the traits
corresponding to the Serializer
compound types: SerializeSeq
,
SerializeTuple
, SerializeTupleStruct
, SerializeTupleVariant
,
SerializeMap
, SerializeStruct
, and SerializeStructVariant
.
impl Serializer for MySerializer { type Ok = (); type Error = Error; type SerializeSeq = Impossible<(), Error>; /* other associated types */ /// This data format does not support serializing sequences. fn serialize_seq(self, len: Option<usize>) -> Result<Self::SerializeSeq, Error> { // Given Impossible cannot be instantiated, the only // thing we can do here is to return an error. Err(...) } /* other Serializer methods */ }
Trait Implementations
impl<Ok, E> SerializeSeq for Impossible<Ok, E> where
E: Error,
[src]
E: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = E
Must match the Error
type of our Serializer
.
fn serialize_element<T: ?Sized + Serialize>(
&mut self,
_value: &T
) -> Result<(), E>
&mut self,
_value: &T
) -> Result<(), E>
Serialize a sequence element.
fn end(self) -> Result<Ok, E>
Finish serializing a sequence.
impl<Ok, E> SerializeTuple for Impossible<Ok, E> where
E: Error,
[src]
E: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = E
Must match the Error
type of our Serializer
.
fn serialize_element<T: ?Sized + Serialize>(
&mut self,
_value: &T
) -> Result<(), E>
&mut self,
_value: &T
) -> Result<(), E>
Serialize a tuple element.
fn end(self) -> Result<Ok, E>
Finish serializing a tuple.
impl<Ok, E> SerializeTupleStruct for Impossible<Ok, E> where
E: Error,
[src]
E: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = E
Must match the Error
type of our Serializer
.
fn serialize_field<T: ?Sized + Serialize>(
&mut self,
_value: &T
) -> Result<(), E>
&mut self,
_value: &T
) -> Result<(), E>
Serialize a tuple struct field.
fn end(self) -> Result<Ok, E>
Finish serializing a tuple struct.
impl<Ok, E> SerializeTupleVariant for Impossible<Ok, E> where
E: Error,
[src]
E: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = E
Must match the Error
type of our Serializer
.
fn serialize_field<T: ?Sized + Serialize>(
&mut self,
_value: &T
) -> Result<(), E>
&mut self,
_value: &T
) -> Result<(), E>
Serialize a tuple variant field.
fn end(self) -> Result<Ok, E>
Finish serializing a tuple variant.
impl<Ok, E> SerializeMap for Impossible<Ok, E> where
E: Error,
[src]
E: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = E
Must match the Error
type of our Serializer
.
fn serialize_key<T: ?Sized + Serialize>(&mut self, _key: &T) -> Result<(), E>
Serialize a map key.
fn serialize_value<T: ?Sized + Serialize>(
&mut self,
_value: &T
) -> Result<(), E>
&mut self,
_value: &T
) -> Result<(), E>
Serialize a map value.
fn end(self) -> Result<Ok, E>
Finish serializing a map.
fn serialize_entry<K: ?Sized + Serialize, V: ?Sized + Serialize>(
&mut self,
key: &K,
value: &V
) -> Result<(), Self::Error>
&mut self,
key: &K,
value: &V
) -> Result<(), Self::Error>
Serialize a map entry consisting of a key and a value. Read more
impl<Ok, E> SerializeStruct for Impossible<Ok, E> where
E: Error,
[src]
E: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = E
Must match the Error
type of our Serializer
.
fn serialize_field<T: ?Sized + Serialize>(
&mut self,
_key: &'static str,
_value: &T
) -> Result<(), E>
&mut self,
_key: &'static str,
_value: &T
) -> Result<(), E>
Serialize a struct field.
fn end(self) -> Result<Ok, E>
Finish serializing a struct.
impl<Ok, E> SerializeStructVariant for Impossible<Ok, E> where
E: Error,
[src]
E: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = E
Must match the Error
type of our Serializer
.
fn serialize_field<T: ?Sized + Serialize>(
&mut self,
_key: &'static str,
_value: &T
) -> Result<(), E>
&mut self,
_key: &'static str,
_value: &T
) -> Result<(), E>
Serialize a struct variant field.
fn end(self) -> Result<Ok, E>
Finish serializing a struct variant.