Trait Error

Source
pub trait Error: Sized + Error {
    // Required method
    fn custom<T>(msg: T) -> Self
       where T: Display;
}
Expand description

Trait used by Serialize implementations to generically construct errors belonging to the Serializer against which they are currently running.

Required Methods§

Source

fn custom<T>(msg: T) -> Self
where T: Display,

Raised when a Serialize implementation encounters a general error while serializing a type.

The message should not be capitalized and should not end with a period.

For example, a filesystem Path may refuse to serialize itself if it contains invalid UTF-8 data.

impl Serialize for Path {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
        where S: Serializer
    {
        match self.to_str() {
            Some(s) => s.serialize(serializer),
            None => Err(Error::custom("path contains invalid UTF-8 characters")),
        }
    }
}

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§