Function bytemuck::allocation::try_cast_rc
source · pub fn try_cast_rc<A: NoUninit + AnyBitPattern, B: NoUninit + AnyBitPattern>(
input: Rc<A>
) -> Result<Rc<B>, (PodCastError, Rc<A>)>
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.