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.

This example is not tested
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]

Must match the Ok type of our Serializer.

Must match the Error type of our Serializer.

[src]

Serialize a sequence element.

[src]

Finish serializing a sequence.

impl<Ok, E> SerializeTuple for Impossible<Ok, E> where
    E: Error
[src]

Must match the Ok type of our Serializer.

Must match the Error type of our Serializer.

[src]

Serialize a tuple element.

[src]

Finish serializing a tuple.

impl<Ok, E> SerializeTupleStruct for Impossible<Ok, E> where
    E: Error
[src]

Must match the Ok type of our Serializer.

Must match the Error type of our Serializer.

[src]

Serialize a tuple struct field.

[src]

Finish serializing a tuple struct.

impl<Ok, E> SerializeTupleVariant for Impossible<Ok, E> where
    E: Error
[src]

Must match the Ok type of our Serializer.

Must match the Error type of our Serializer.

[src]

Serialize a tuple variant field.

[src]

Finish serializing a tuple variant.

impl<Ok, E> SerializeMap for Impossible<Ok, E> where
    E: Error
[src]

Must match the Ok type of our Serializer.

Must match the Error type of our Serializer.

[src]

Serialize a map key.

[src]

Serialize a map value.

[src]

Finish serializing a map.

[src]

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]

Must match the Ok type of our Serializer.

Must match the Error type of our Serializer.

[src]

Serialize a struct field.

[src]

Finish serializing a struct.

impl<Ok, E> SerializeStructVariant for Impossible<Ok, E> where
    E: Error
[src]

Must match the Ok type of our Serializer.

Must match the Error type of our Serializer.

[src]

Serialize a struct variant field.

[src]

Finish serializing a struct variant.