Trait std::ops::CoerceUnsized
[−]
[src]
pub trait CoerceUnsized<T> { }
Unstable (
coerce_unsized
)Trait that indicates that this is a pointer or a wrapper for one, where unsizing can be performed on the pointee.
Implementors
impl<T, U> CoerceUnsized<NonZero<U>> for NonZero<T> where T: Zeroable + CoerceUnsized<U>, U: Zeroable
impl<T, U> CoerceUnsized<Unique<U>> for Unique<T> where U: ?Sized, T: Unsize<U> + ?Sized
impl<T, U> CoerceUnsized<Shared<U>> for Shared<T> where U: ?Sized, T: Unsize<U> + ?Sized
impl<'a, T, U> CoerceUnsized<&'a mut U> for &'a mut T where U: ?Sized, T: Unsize<U> + ?Sized
impl<'a, 'b, T, U> CoerceUnsized<&'a U> for &'b mut T where 'b: 'a, U: ?Sized, T: Unsize<U> + ?Sized
impl<'a, T, U> CoerceUnsized<*mut U> for &'a mut T where T: Unsize<U> + ?Sized, U: ?Sized
impl<'a, T, U> CoerceUnsized<*const U> for &'a mut T where U: ?Sized, T: Unsize<U> + ?Sized
impl<'a, 'b, T, U> CoerceUnsized<&'a U> for &'b T where 'b: 'a, T: Unsize<U> + ?Sized, U: ?Sized
impl<'a, T, U> CoerceUnsized<*const U> for &'a T where U: ?Sized, T: Unsize<U> + ?Sized
impl<T, U> CoerceUnsized<*mut U> for *mut T where T: Unsize<U> + ?Sized, U: ?Sized
impl<T, U> CoerceUnsized<*const U> for *mut T where T: Unsize<U> + ?Sized, U: ?Sized
impl<T, U> CoerceUnsized<*const U> for *const T where T: Unsize<U> + ?Sized, U: ?Sized
impl<T, U> CoerceUnsized<Box<U>> for Box<T> where U: ?Sized, T: Unsize<U> + ?Sized
impl<T, U> CoerceUnsized<Arc<U>> for Arc<T> where U: ?Sized, T: Unsize<U> + ?Sized
impl<T, U> CoerceUnsized<Weak<U>> for Weak<T> where U: ?Sized, T: Unsize<U> + ?Sized
impl<T, U> CoerceUnsized<Rc<U>> for Rc<T> where T: Unsize<U> + ?Sized, U: ?Sized
impl<T, U> CoerceUnsized<Weak<U>> for Weak<T> where T: Unsize<U> + ?Sized, U: ?Sized