devela::_dep::bytemuck

Function try_cast_rc

pub fn try_cast_rc<A, B>(input: Rc<A>) -> Result<Rc<B>, (PodCastError, Rc<A>)> 
Available on crate feature dep_bytemuck only.
Expand description

Attempts to cast the content type of a Rc.

On failure you get back an error along with the starting Rc.

The bounds on this function are the same as cast_mut, because a user could call Rc::get_unchecked_mut on the output, which could be observable in the input.

§Failure

  • The start and end content type of the Rc must have the exact same alignment.
  • The start and end size of the Rc must have the exact same size.