Module core::mem1.0.0 [] [src]

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.

Pin [
Experimental
]

A pinned reference.

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

Leaks a value: 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

Replaces the value at a mutable location with a new one, returning the old value, without deinitializing either one.

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

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

zeroed

Creates a value whose bytes are all zero.

unreachable [
Experimental
]

Tells LLVM that this point in the code is not reachable, enabling further optimizations.

Unions

ManuallyDrop

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