core::mem - Rust
Description: Basic functions for dealing with memory.

# 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.

## 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`.

## 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.
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`.