Available on crate features
crypto and std only.Expand description
Basic functions for dealing with memory.
This module contains functions for querying the size and alignment of types, initializing and manipulating memory.
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.
- Manually
Drop - A wrapper to inhibit the compiler from automatically calling
T’s destructor. This wrapper is 0-cost. - Assume
Experimental - Configurable proof assumptions of
TransmuteFrom. - Drop
Guard Experimental - Wrap a value and run a closure when dropped.
Traits§
- Transmute
From Experimental - Marks that
Srcis transmutable intoSelf.
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
valpoints 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_ of Deprecated - Returns the ABI-required minimum alignment of a type in bytes.
- min_
align_ of_ val Deprecated - Returns the ABI-required minimum alignment of the type of the value that
valpoints to in bytes. - needs_
drop - Returns
trueif dropping values of typeTmatters. - replace
- Moves
srcinto the referenceddest, returning the previousdestvalue. - 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
destwith the default value ofT, returning the previousdestvalue. - transmute⚠
- Reinterprets the bits of a value of one type as another type.
- transmute_
copy ⚠ - Interprets
srcas having type&Dst, and then readssrcwithout 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
Trepresented by the all-zero byte-pattern. - align_
of_ ⚠val_ raw Experimental - Returns the ABI-required minimum alignment of the type of the value that
valpoints to in bytes. - conjure_
zst ⚠Experimental - Create a fresh instance of the inhabited ZST type
T. - copy
Experimental - Bitwise-copies a value.
- forget_
unsized Experimental - Like
forget, but also accepts unsized values. - size_
of_ ⚠val_ raw Experimental - Returns the size of the pointed-to value in bytes.
- variant_
count Experimental - Returns the number of variants in the enum type
T.
Unions§
- Maybe
Uninit - A wrapper type to construct uninitialized instances of
T.