pub trait BencodeVariable:
Display
+ Debug
+ ToBencode
+ FromBencode {
// Required methods
fn get_type(&self) -> BencodeTypes;
fn upcast(self) -> Box<dyn BencodeVariable>;
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
fn clone_box(&self) -> Box<dyn BencodeVariable>;
// Provided method
fn parse<V>(&self) -> Result<V>
where V: BencodeCast<Self>,
Self: Sized { ... }
}Required Methods§
fn get_type(&self) -> BencodeTypes
fn upcast(self) -> Box<dyn BencodeVariable>
fn as_any(&self) -> &dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
fn clone_box(&self) -> Box<dyn BencodeVariable>
Provided Methods§
fn parse<V>(&self) -> Result<V>where
V: BencodeCast<Self>,
Self: Sized,
Trait Implementations§
Source§impl AddArray<Box<dyn BencodeVariable>> for BencodeArray
impl AddArray<Box<dyn BencodeVariable>> for BencodeArray
Source§impl Clone for Box<dyn BencodeVariable>
impl Clone for Box<dyn BencodeVariable>
Source§impl PutObject<&String, Box<dyn BencodeVariable>> for BencodeObject
impl PutObject<&String, Box<dyn BencodeVariable>> for BencodeObject
Source§impl PutObject<&Vec<u8>, Box<dyn BencodeVariable>> for BencodeObject
impl PutObject<&Vec<u8>, Box<dyn BencodeVariable>> for BencodeObject
Source§impl PutObject<&[u8], Box<dyn BencodeVariable>> for BencodeObject
impl PutObject<&[u8], Box<dyn BencodeVariable>> for BencodeObject
Source§impl PutObject<&str, Box<dyn BencodeVariable>> for BencodeObject
impl PutObject<&str, Box<dyn BencodeVariable>> for BencodeObject
Source§impl PutObject<BencodeBytes, Box<dyn BencodeVariable>> for BencodeObject
impl PutObject<BencodeBytes, Box<dyn BencodeVariable>> for BencodeObject
fn put(&mut self, key: BencodeBytes, value: Box<dyn BencodeVariable>)
Source§impl PutObject<String, Box<dyn BencodeVariable>> for BencodeObject
impl PutObject<String, Box<dyn BencodeVariable>> for BencodeObject
Source§impl PutObject<Vec<u8>, Box<dyn BencodeVariable>> for BencodeObject
impl PutObject<Vec<u8>, Box<dyn BencodeVariable>> for BencodeObject
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".