Trait serde_traitobject::Debug
source · pub trait Debug: Debug + Serialize + Deserialize { }
Expand description
A convenience trait implemented on all (de)serializable implementors of std::fmt::Debug
.
It can be made into a trait object which is then (de)serializable.
Example
#[macro_use] extern crate serde_derive;
extern crate serde_json;
extern crate serde_traitobject as s;
fn debug() -> s::Box<dyn s::Debug> {
s::Box::new(String::from("boxed debuggable"))
}
let serialized = serde_json::to_string(&debug()).unwrap();
let deserialized: s::Box<dyn s::Debug> = serde_json::from_str(&serialized).unwrap();
println!("{:?}", deserialized);
// "boxed debuggable"
Trait Implementations§
source§impl<'de> Deserialize<'de> for Box<dyn Debug + 'static>
impl<'de> Deserialize<'de> for Box<dyn Debug + 'static>
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<'de> Deserialize<'de> for Box<dyn Debug + Send + 'static>
impl<'de> Deserialize<'de> for Box<dyn Debug + Send + 'static>
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more