pub struct IncompatibleVecTargetError<S, T> {
pub vec: Vec<S>,
/* private fields */
}Expand description
Incompatible vector transmutation error.
Returned when the element type S does not allow a safe vector
transmutation to the target element type T. This happens when either
the size or minimum memory alignment requirements are not met:
std::mem::align_of::<S>() != std::mem::align_of::<T>()std::mem::size_of::<S>() != std::mem::size_of::<T>()
Fields§
§vec: Vec<S>The original vector.
Implementations§
Source§impl<S, T> IncompatibleVecTargetError<S, T>
impl<S, T> IncompatibleVecTargetError<S, T>
Sourcepub unsafe fn copy_unchecked(&self) -> Vec<T>
pub unsafe fn copy_unchecked(&self) -> Vec<T>
Create a copy of the data, transmuted into a new vector. As the vector
will be properly aligned for accessing values of type T, this
operation will not fail due to memory alignment constraints.
§Safety
The byte data in the vector needs to correspond to a valid contiguous
sequence of T values.
Sourcepub fn copy(&self) -> Vec<T>where
T: TriviallyTransmutable,
pub fn copy(&self) -> Vec<T>where
T: TriviallyTransmutable,
Create a copy of the data, transmuted into a new vector. As T is
trivially transmutable, and the new vector will be properly allocated
for accessing values of type T, this operation is safe and will never fail.
Trait Implementations§
Source§impl<S: Clone, T: Clone> Clone for IncompatibleVecTargetError<S, T>
impl<S: Clone, T: Clone> Clone for IncompatibleVecTargetError<S, T>
Source§fn clone(&self) -> IncompatibleVecTargetError<S, T>
fn clone(&self) -> IncompatibleVecTargetError<S, T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<S, T> Debug for IncompatibleVecTargetError<S, T>
Available on crate feature alloc only.
impl<S, T> Debug for IncompatibleVecTargetError<S, T>
Available on crate feature
alloc only.Source§impl<S, T> Display for IncompatibleVecTargetError<S, T>
Available on crate feature alloc only.
impl<S, T> Display for IncompatibleVecTargetError<S, T>
Available on crate feature
alloc only.Source§impl<S, T> Error for IncompatibleVecTargetError<S, T>
Available on crate feature std only.
impl<S, T> Error for IncompatibleVecTargetError<S, T>
Available on crate feature
std only.Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
Source§impl<'a, S, T> From<IncompatibleVecTargetError<S, T>> for Error<'a, S, T>
Available on crate feature alloc only.
impl<'a, S, T> From<IncompatibleVecTargetError<S, T>> for Error<'a, S, T>
Available on crate feature
alloc only.Source§fn from(e: IncompatibleVecTargetError<S, T>) -> Self
fn from(e: IncompatibleVecTargetError<S, T>) -> Self
Converts to this type from the input type.
Source§impl<S: PartialEq, T: PartialEq> PartialEq for IncompatibleVecTargetError<S, T>
impl<S: PartialEq, T: PartialEq> PartialEq for IncompatibleVecTargetError<S, T>
Source§fn eq(&self, other: &IncompatibleVecTargetError<S, T>) -> bool
fn eq(&self, other: &IncompatibleVecTargetError<S, T>) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<S: Eq, T: Eq> Eq for IncompatibleVecTargetError<S, T>
impl<S, T> StructuralPartialEq for IncompatibleVecTargetError<S, T>
Auto Trait Implementations§
impl<S, T> Freeze for IncompatibleVecTargetError<S, T>
impl<S, T> RefUnwindSafe for IncompatibleVecTargetError<S, T>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, T> Send for IncompatibleVecTargetError<S, T>
impl<S, T> Sync for IncompatibleVecTargetError<S, T>
impl<S, T> Unpin for IncompatibleVecTargetError<S, T>
impl<S, T> UnwindSafe for IncompatibleVecTargetError<S, T>where
T: UnwindSafe,
S: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more