1.0.0[][src]Module core::mem

Basic functions for dealing with memory.

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

Re-exports

pub use intrinsics::transmute;

Structs

Discriminant

Opaque type representing the discriminant of an enum.

ManuallyDrop

A wrapper to inhibit compiler from automatically calling T’s destructor.

Functions

align_of

Returns the ABI-required minimum alignment of a type.

align_of_val

Returns the ABI-required minimum alignment of the type of the value that val points to.

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.

min_align_of_val[
Deprecated
]

Returns the ABI-required minimum alignment of the type of the value that val points to.

needs_drop

Returns whether 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.

transmute_copy

Interprets src as having type &U, and then reads src without moving the contained value.

uninitialized[
Deprecating in 2.0.0
]

Bypasses Rust's normal memory-initialization checks by pretending to produce a value of type T, while doing nothing at all.

zeroed[
Deprecating in 2.0.0
]

Creates a value whose bytes are all zero.

Unions

MaybeUninit[
Experimental
]

A newtype to construct uninitialized instances of T