Function bytemuck::allocation::try_cast_slice_arc
source · pub fn try_cast_slice_arc<A: NoUninit + AnyBitPattern, B: NoUninit + AnyBitPattern>(
input: Arc<[A]>
) -> Result<Arc<[B]>, (PodCastError, Arc<[A]>)>
Expand description
Attempts to cast the content type of a Arc<[T]>
.
On failure you get back an error along with the starting Arc<[T]>
.
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
Arc<[T]>
must have the exact same alignment. - The start and end content size in bytes of the
Arc<[T]>
must be the exact same.