Skip to main content

Module mem

Module mem 

1.6.0 · Source
Expand description

Basic functions for dealing with memory.

This module contains functions for querying the size and alignment of types, initializing and manipulating memory.

Modules§

type_infoExperimental
MVP for exposing compile-time information about types in a runtime or const-eval processable way.

Macros§

offset_of
Expands to the offset in bytes of a field from the beginning of the given type.

Structs§

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.
MaybeDanglingExperimental
Allows wrapped references and boxes to dangle.

Traits§

TransmuteFromExperimental
Marks that Src is transmutable into Self.

Functions§

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.

Unions§

MaybeUninit
A wrapper type to construct uninitialized instances of T.