Module mycelium_util::mem
source · Expand description
Basic functions for dealing with memory.
This module re-exports all of core::mem
, along with additional
mycelium-util
APIs:
CheckedMaybeUninit
: a wrapper aroundcore::mem::MaybeUninit
that tracks whether the memory location is uninitialized when debug assertions are enabled.
Macros
- Expands to the offset in bytes of a field from the beginning of the given type.
Structs
- Opaque type representing the discriminant of an enum.
- A wrapper to inhibit compiler from automatically calling
T
’s destructor. This wrapper is 0-cost. - AssumeExperimentalWhat transmutation safety conditions shall the compiler assume that you are checking?
- A checked version of
core::mem::MaybeUninit
.
Traits
- BikeshedIntrinsicFromExperimentalAre values of a type transmutable into values of another type?
Functions
- Returns the ABI-required minimum alignment of a type in bytes.
- Returns the ABI-required minimum alignment of the type of the value that
val
points to in bytes. - Returns a value uniquely identifying the enum variant in
v
. - Disposes of a value.
- Takes ownership and “forgets” about the value without running its destructor.
- min_align_ofDeprecatedReturns the ABI-required minimum alignment of a type in bytes.
- min_align_of_valDeprecatedReturns the ABI-required minimum alignment of the type of the value that
val
points to in bytes. - Returns
true
if dropping values of typeT
matters. - Moves
src
into the referenceddest
, returning the previousdest
value. - Returns the size of a type in bytes.
- Returns the size of the pointed-to value in bytes.
- Swaps the values at two mutable locations, without deinitializing either one.
- Replaces
dest
with the default value ofT
, returning the previousdest
value. - Reinterprets the bits of a value of one type as another type.
- Interprets
src
as having type&Dst
, and then readssrc
without moving the contained value. - uninitialized⚠DeprecatedBypasses Rust’s normal memory-initialization checks by pretending to produce a value of type
T
, while doing nothing at all. - Returns the value of type
T
represented by the all-zero byte-pattern. - align_of_val_raw⚠ExperimentalReturns the ABI-required minimum alignment of the type of the value that
val
points to in bytes. - copyExperimentalBitwise-copies a value.
- forget_unsizedExperimentalLike
forget
, but also accepts unsized values. - size_of_val_raw⚠ExperimentalReturns the size of the pointed-to value in bytes.
- variant_countExperimentalReturns the number of variants in the enum type
T
.
Unions
- A wrapper type to construct uninitialized instances of
T
.