[−][src]Trait serde_traitobject::Any
A convenience trait implemented on all (de)serializable implementors of std::any::Any
.
It can be made into a trait object which is then (de)serializable.
Example
extern crate serde_json; extern crate serde_traitobject as s; use std::any::Any; let erased: s::Box<dyn s::Any> = s::Box::new(String::from("hi there")); let serialized = serde_json::to_string(&erased).unwrap(); let deserialized: s::Box<dyn s::Any> = serde_json::from_str(&serialized).unwrap(); let downcast: Box<String> = Box::<dyn Any>::downcast(deserialized.into_any()).unwrap(); println!("{}!", downcast); // hi there!
Required methods
fn as_any(&self) -> &dyn Any
Convert to a &std::any::Any
.
fn as_any_mut(&mut self) -> &mut dyn Any
Convert to a &mut std::any::Any
.
fn into_any(self: Box<Self>) -> Box<dyn Any>
Convert to a std::boxed::Box<dyn std::any::Any>
.
Implementations
impl dyn Any + Send
[src]
pub fn into_any_send(self: Box<Self>) -> Box<dyn Any + Send>
[src]
Convert into a std::boxed::Box<dyn std::any::Any + Send>
.
impl dyn Any + Sync
[src]
pub fn into_any_sync(self: Box<Self>) -> Box<dyn Any + Sync>
[src]
Convert into a std::boxed::Box<dyn std::any::Any + Sync>
.
impl dyn Any + Send + Sync
[src]
pub fn into_any_send_sync(self: Box<Self>) -> Box<dyn Any + Send + Sync>
[src]
Convert into a std::boxed::Box<dyn std::any::Any + Send + Sync>
.
Trait Implementations
impl AsRef<dyn Any + 'static + Send> for dyn Any + Send
[src]
impl AsRef<dyn Any + 'static> for dyn Any
[src]
impl Serialize for dyn Any
[src]
impl Serialize for dyn Any + Send
[src]
Implementors
impl<T> Any for T where
T: Any + Serialize + Deserialize,
[src]
T: Any + Serialize + Deserialize,