Trait Message

Source
pub trait Message: Downcast + Send {
    type Result: Debug + Send;
    type Error: Debug + Send;
}
Expand description

Trait indicating that the type is a message.

Required Associated Types§

Implementations§

Source§

impl<Result, Error> dyn Message<Result = Result, Error = Error>
where Result: Any + 'static, Error: Any + 'static,

Source

pub fn is<__T>(&self) -> bool
where __T: Message<Result = Result, Error = Error>,

Returns true if the trait object wraps an object of type __T.

Source

pub fn downcast<__T>( self: Box<dyn Message<Result = Result, Error = Error>>, ) -> Result<Box<__T>, Box<dyn Message<Result = Result, Error = Error>>>
where __T: Message<Result = Result, Error = Error>,

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.

Source

pub fn downcast_rc<__T>( self: Rc<dyn Message<Result = Result, Error = Error>>, ) -> Result<Rc<__T>, Rc<dyn Message<Result = Result, Error = Error>>>
where __T: Message<Result = Result, Error = Error>,

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.

Source

pub fn downcast_ref<__T>(&self) -> Option<&__T>
where __T: Message<Result = Result, Error = Error>,

Returns a reference to the object within the trait object if it is of type __T, or None if it isn’t.

Source

pub fn downcast_mut<__T>(&mut self) -> Option<&mut __T>
where __T: Message<Result = Result, Error = Error>,

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn’t.

Implementors§