Module std::mem

1.0.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_ofExperimental
    Expands to the offset in bytes of a field from the beginning of the given type.

Structs

  • AssumeExperimental
    What transmutation safety conditions shall the compiler assume that you are checking?
  • Opaque type representing the discriminant of an enum.
  • A wrapper to inhibit compiler from automatically calling T’s destructor. This wrapper is 0-cost.

Traits

  • Are values of a type transmutable into values of another type?
  • Provides associated constants for various useful properties of types, to give them a canonical form in our code and make them easier to read.

Functions

  • align_of_val_rawExperimental
    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_rawExperimental
    Returns the size of the pointed-to value in bytes.
  • variant_countExperimental
    Returns the number of variants in the enum type T.
  • Returns the ABI-required minimum alignment of a type in bytes.
  • Returns the ABI-required minimum alignment of the type of the value that val points to in bytes.
  • Returns a value uniquely identifying the enum variant in v.
  • Disposes of a value.
  • 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.
  • Returns the ABI-required minimum alignment of the type of the value that val points to in bytes.
  • Returns true if dropping values of type T matters.
  • Moves src into the referenced dest, returning the previous dest value.
  • Returns the size of a type in bytes.
  • Returns the size of the pointed-to value in bytes.
  • Swaps the values at two mutable locations, without deinitializing either one.
  • Replaces dest with the default value of T, returning the previous dest value.
  • Reinterprets the bits of a value of one type as another type.
  • Interprets src as having type &Dst, and then reads src without moving the contained value.
  • uninitializedDeprecated
    Bypasses Rust’s normal memory-initialization checks by pretending to produce a value of type T, while doing nothing at all.
  • Returns the value of type T represented by the all-zero byte-pattern.

Unions

  • A wrapper type to construct uninitialized instances of T.