pub trait PieceXData:
Downcast
+ Debug
+ Send
+ 'static
+ Serialize
+ Deserialize {
// Required method
fn dummy() -> Self
where Self: Sized;
}Required Methods§
Implementations§
Source§impl dyn PieceXData
impl dyn PieceXData
Sourcepub fn is<__T>(&self) -> boolwhere
__T: PieceXData,
pub fn is<__T>(&self) -> boolwhere
__T: PieceXData,
Returns true if the trait object wraps an object of type __T.
Sourcepub fn downcast<__T>(
self: Box<dyn PieceXData>,
) -> Result<Box<__T>, Box<dyn PieceXData>>where
__T: PieceXData,
pub fn downcast<__T>(
self: Box<dyn PieceXData>,
) -> Result<Box<__T>, Box<dyn PieceXData>>where
__T: PieceXData,
Returns a boxed object from a boxed trait object if the underlying object is of type
__T. Returns the original boxed trait if it isn’t.
Sourcepub fn downcast_rc<__T>(
self: Rc<dyn PieceXData>,
) -> Result<Rc<__T>, Rc<dyn PieceXData>>where
__T: PieceXData,
pub fn downcast_rc<__T>(
self: Rc<dyn PieceXData>,
) -> Result<Rc<__T>, Rc<dyn PieceXData>>where
__T: PieceXData,
Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of
type __T. Returns the original Rc-ed trait if it isn’t.
Sourcepub fn downcast_ref<__T>(&self) -> Option<&__T>where
__T: PieceXData,
pub fn downcast_ref<__T>(&self) -> Option<&__T>where
__T: PieceXData,
Returns a reference to the object within the trait object if it is of type __T, or
None if it isn’t.
Sourcepub fn downcast_mut<__T>(&mut self) -> Option<&mut __T>where
__T: PieceXData,
pub fn downcast_mut<__T>(&mut self) -> Option<&mut __T>where
__T: PieceXData,
Returns a mutable reference to the object within the trait object if it is of type
__T, or None if it isn’t.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Box<dyn PieceXData>
impl<'de> Deserialize<'de> for Box<dyn PieceXData>
Source§fn deserialize<D>(
deserializer: D,
) -> Result<Box<dyn PieceXData>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Box<dyn PieceXData>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'de> Deserialize<'de> for Box<dyn PieceXData + Send>
impl<'de> Deserialize<'de> for Box<dyn PieceXData + Send>
Source§fn deserialize<D>(
deserializer: D,
) -> Result<Box<dyn PieceXData + Send>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Box<dyn PieceXData + Send>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'typetag> Serialize for dyn PieceXData + 'typetag
impl<'typetag> Serialize for dyn PieceXData + 'typetag
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl<'typetag> Serialize for dyn PieceXData + Send + 'typetag
impl<'typetag> Serialize for dyn PieceXData + Send + 'typetag
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl<'typetag> Serialize for dyn PieceXData + Send + Sync + 'typetag
impl<'typetag> Serialize for dyn PieceXData + Send + Sync + 'typetag
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl<'typetag> Serialize for dyn PieceXData + Sync + 'typetag
impl<'typetag> Serialize for dyn PieceXData + Sync + 'typetag
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".