anyhow_serde 1.0.101

Flexible concrete Error type built on std::error::Error with serde support
Documentation
use std::string::String;

use serde::{Deserialize, Deserializer, Serialize, Serializer};

use crate::Error;

impl Serialize for Error {
    fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
        use std::string::ToString;

        serializer.serialize_str(&self.to_string())
    }
}

impl<'de> Deserialize<'de> for Error {
    fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
        let s = String::deserialize(deserializer)?;
        Ok(Error::msg(s))
    }
}