pub struct Assume {
pub alignment: bool,
pub lifetimes: bool,
pub validity: bool,
pub visibility: bool,
}
Expand description
What transmutation safety conditions shall the compiler assume that you are checking?
Fields
alignment: bool
When true
, the compiler assumes that you are ensuring (either dynamically or statically) that
destination referents do not have stricter alignment requirements than source referents.
lifetimes: bool
When true
, the compiler assume that you are ensuring that lifetimes are not extended in a manner
that violates Rust’s memory model.
validity: bool
When true
, the compiler assumes that you are ensuring that the source type is actually a valid
instance of the destination type.
visibility: bool
When true
, the compiler assumes that you have ensured that it is safe for you to violate the
type and field privacy of the destination type (and sometimes of the source type, too).
Trait Implementations
impl Copy for Assume
impl Eq for Assume
impl StructuralEq for Assume
impl StructuralPartialEq for Assume
Auto Trait Implementations
impl RefUnwindSafe for Assume
impl Send for Assume
impl Sync for Assume
impl Unpin for Assume
impl UnwindSafe for Assume
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more