Module mem
Basic functions for dealing with memory.
This module contains functions for querying the size and alignment of types, initializing and manipulating memory.
- offset_of
- Expands to the offset in bytes of a field from the beginning of the given type.
- Discriminant
- Opaque type representing the discriminant of an enum.
- ManuallyDrop
- A wrapper to inhibit the compiler from automatically calling
T’s destructor. This wrapper is 0-cost.
-
AssumeExperimental
- Configurable proof assumptions of
TransmuteFrom.
-
DropGuardExperimental
- Wrap a value and run a closure when dropped.
-
TransmuteFromExperimental
- Marks that
Src is transmutable into Self.
- align_of
- Returns the ABI-required minimum alignment of a type in bytes.
- align_of_val
- Returns the ABI-required minimum alignment of the type of the value that
val points to in bytes.
- discriminant
- Returns a value uniquely identifying the enum variant in
v.
- drop
- Disposes of a value.
- forget
- Takes ownership and “forgets” about the value without running its destructor.
-
min_align_ofDeprecated
- Returns the ABI-required minimum alignment of a type in bytes.
-
min_align_of_valDeprecated
- Returns the ABI-required minimum alignment of the type of the value that
val points to in bytes.
- needs_drop
- Returns
true if dropping values of type T matters.
- replace
- Moves
src into the referenced dest, returning the previous dest value.
- size_of
- Returns the size of a type in bytes.
- size_of_val
- Returns the size of the pointed-to value in bytes.
- swap
- Swaps the values at two mutable locations, without deinitializing either one.
- take
- Replaces
dest with the default value of T, returning the previous dest value.
-
transmute⚠
- Reinterprets the bits of a value of one type as another type.
-
transmute_copy⚠
- Interprets
src as having type &Dst, and then reads src without moving the contained value.
-
uninitialized⚠Deprecated
- Bypasses Rust’s normal memory-initialization checks by pretending to produce a value of type
T, while doing nothing at all.
-
zeroed⚠
- Returns the value of type
T represented by the all-zero byte-pattern.
-
align_of_val_raw⚠Experimental
- Returns the ABI-required minimum alignment of the type of the value that
val points to in bytes.
-
conjure_zst⚠Experimental
- Create a fresh instance of the inhabited ZST type
T.
-
copyExperimental
- Bitwise-copies a value.
-
forget_unsizedExperimental
- Like
forget, but also accepts unsized values.
-
size_of_val_raw⚠Experimental
- Returns the size of the pointed-to value in bytes.
-
variant_countExperimental
- Returns the number of variants in the enum type
T.
- MaybeUninit
- A wrapper type to construct uninitialized instances of
T.