Struct serde::ser::Impossible
[−]
[src]
pub struct Impossible<Ok, Error> { /* 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, Error> SerializeSeq for Impossible<Ok, Error> where
Error: Error,
[src]
Error: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = Error
Must match the Error
type of our Serializer
.
fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Error> where
T: Serialize,
T: Serialize,
Serialize a sequence element.
fn end(self) -> Result<Ok, Error>
Finish serializing a sequence.
impl<Ok, Error> SerializeTuple for Impossible<Ok, Error> where
Error: Error,
[src]
Error: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = Error
Must match the Error
type of our Serializer
.
fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Error> where
T: Serialize,
T: Serialize,
Serialize a tuple element.
fn end(self) -> Result<Ok, Error>
Finish serializing a tuple.
impl<Ok, Error> SerializeTupleStruct for Impossible<Ok, Error> where
Error: Error,
[src]
Error: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = Error
Must match the Error
type of our Serializer
.
fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Error> where
T: Serialize,
T: Serialize,
Serialize a tuple struct field.
fn end(self) -> Result<Ok, Error>
Finish serializing a tuple struct.
impl<Ok, Error> SerializeTupleVariant for Impossible<Ok, Error> where
Error: Error,
[src]
Error: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = Error
Must match the Error
type of our Serializer
.
fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Error> where
T: Serialize,
T: Serialize,
Serialize a tuple variant field.
fn end(self) -> Result<Ok, Error>
Finish serializing a tuple variant.
impl<Ok, Error> SerializeMap for Impossible<Ok, Error> where
Error: Error,
[src]
Error: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = Error
Must match the Error
type of our Serializer
.
fn serialize_key<T: ?Sized>(&mut self, key: &T) -> Result<(), Error> where
T: Serialize,
T: Serialize,
Serialize a map key. Read more
fn serialize_value<T: ?Sized>(&mut self, value: &T) -> Result<(), Error> where
T: Serialize,
T: Serialize,
Serialize a map value. Read more
fn end(self) -> Result<Ok, Error>
Finish serializing a map.
fn serialize_entry<K: ?Sized, V: ?Sized>(
&mut self,
key: &K,
value: &V
) -> Result<(), Self::Error> where
K: Serialize,
V: Serialize,
&mut self,
key: &K,
value: &V
) -> Result<(), Self::Error> where
K: Serialize,
V: Serialize,
Serialize a map entry consisting of a key and a value. Read more
impl<Ok, Error> SerializeStruct for Impossible<Ok, Error> where
Error: Error,
[src]
Error: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = Error
Must match the Error
type of our Serializer
.
fn serialize_field<T: ?Sized>(
&mut self,
key: &'static str,
value: &T
) -> Result<(), Error> where
T: Serialize,
&mut self,
key: &'static str,
value: &T
) -> Result<(), Error> where
T: Serialize,
Serialize a struct field.
fn end(self) -> Result<Ok, Error>
Finish serializing a struct.
fn skip_field(&mut self, key: &'static str) -> Result<(), Self::Error>
Indicate that a struct field has been skipped.
impl<Ok, Error> SerializeStructVariant for Impossible<Ok, Error> where
Error: Error,
[src]
Error: Error,
type Ok = Ok
Must match the Ok
type of our Serializer
.
type Error = Error
Must match the Error
type of our Serializer
.
fn serialize_field<T: ?Sized>(
&mut self,
key: &'static str,
value: &T
) -> Result<(), Error> where
T: Serialize,
&mut self,
key: &'static str,
value: &T
) -> Result<(), Error> where
T: Serialize,
Serialize a struct variant field.
fn end(self) -> Result<Ok, Error>
Finish serializing a struct variant.
fn skip_field(&mut self, key: &'static str) -> Result<(), Self::Error>
Indicate that a struct variant field has been skipped.