pub trait CastMut {
// Required method
fn cast<T: ?Sized + 'static>(&mut self) -> Option<&mut T>;
}Expand description
A trait that is blanket-implemented for traits extending CastFrom to allow for casting
of a trait object for it behind an mutable reference to a trait object for another trait
implemented by the underlying value.
§Examples
use intertrait::cast::*;
impl Source for Data {}
let mut data = Data;
let source: &mut dyn Source = &mut data;
let greet = source.cast::<dyn Greet>();
greet.unwrap().greet();Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.