[][src]Trait intertrait::cast::CastMut

pub trait CastMut {
    fn cast<T: ?Sized + 'static>(&mut self) -> Option<&mut T>;
}

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

fn cast<T: ?Sized + 'static>(&mut self) -> Option<&mut T>

Casts a mutable reference to this trait into that of type T.

Loading content...

Implementors

impl<S: ?Sized + CastFrom> CastMut for S[src]

A blanket implementation of CastMut for traits extending CastFrom.

Loading content...