# destack:memory

`import destack:memory`

## Namespaces

- arc — arc namespace.
- arena — arena namespace.
- [binding](/docs/language/standard-library/modules/memory/binding/) — binding namespace.
- cell — cell namespace.
- cow — cow namespace.
- raw — raw namespace.
- rc — rc namespace.

## Structs

- [AllocationCapacityOverflow](/docs/language/standard-library/modules/memory/struct/allocation-capacity-overflow/) — Allocation failed because the requested capacity cannot be represented.
- [AllocationOutOfMemory](/docs/language/standard-library/modules/memory/struct/allocation-out-of-memory/) — Allocation failed because the runtime could not reserve enough memory.
- [AllocationUnsupported](/docs/language/standard-library/modules/memory/struct/allocation-unsupported/) — Allocation failed because the runtime does not support the requested operation.
- [Cell](/docs/language/standard-library/modules/memory/struct/cell/) — Interior mutable storage for copyable values.
- [CowBorrowed](/docs/language/standard-library/modules/memory/struct/cow-borrowed/) — Borrowed copy-on-write value.
- [CowOwned](/docs/language/standard-library/modules/memory/struct/cow-owned/) — Owned copy-on-write value.

## Newtypes

- [AccessOf](/docs/language/standard-library/modules/memory/newtype/access-of/) — Extract the access mode of T.
- [AccessOr](/docs/language/standard-library/modules/memory/newtype/access-or/) — Extract the access mode of T, or fall back to D.
- [AllocationError](/docs/language/standard-library/modules/memory/newtype/allocation-error/) — Allocation failure returned by typed fallible allocation APIs.
- [BaseOf](/docs/language/standard-library/modules/memory/newtype/base-of/) — Extract the unqualified base type of T.
- [Borrowed](/docs/language/standard-library/modules/memory/newtype/borrowed/) — Borrowed access form for exactly T.
- [Box](/docs/language/standard-library/modules/memory/newtype/box/) — A uniquely owned heap allocation for an owned T.
- [Cow](/docs/language/standard-library/modules/memory/newtype/cow/) — Copy-on-write value.
- [Dynamic](/docs/language/standard-library/modules/memory/newtype/dynamic/) — Erased runtime value for interface constraint T.
- [IsBorrowed](/docs/language/standard-library/modules/memory/newtype/is-borrowed/) — Return whether T is borrowed.
- [IsManaged](/docs/language/standard-library/modules/memory/newtype/is-managed/) — Return whether T is managed.
- [IsOwned](/docs/language/standard-library/modules/memory/newtype/is-owned/) — Return whether T is owned.
- [IsRaw](/docs/language/standard-library/modules/memory/newtype/is-raw/) — Return whether T is raw.
- [IsShared](/docs/language/standard-library/modules/memory/newtype/is-shared/) — Return whether T is explicitly placed in shared space.
- [IsSharedIn](/docs/language/standard-library/modules/memory/newtype/is-shared-in/) — Return whether T resolves to shared space in concrete space S.
- [Lifetime](/docs/language/standard-library/modules/memory/newtype/lifetime/) — Lifetime marker for borrowed validity.
- [LifetimeOf](/docs/language/standard-library/modules/memory/newtype/lifetime-of/) — Extract the borrow lifetime of T.
- [LifetimeOr](/docs/language/standard-library/modules/memory/newtype/lifetime-or/) — Extract the borrow lifetime of T, or fall back to D.
- [Managed](/docs/language/standard-library/modules/memory/newtype/managed/) — Default managed form for exactly T.
- [ManuallyDrop](/docs/language/standard-library/modules/memory/newtype/manually-drop/) — Owned storage whose Drop does not run automatically.
- [MaybeUninit](/docs/language/standard-library/modules/memory/newtype/maybe-uninit/) — Storage for T whose lifetime may not have started.
- [Owned](/docs/language/standard-library/modules/memory/newtype/owned/) — Unique ownership form for exactly T.
- [OwnershipOf](/docs/language/standard-library/modules/memory/newtype/ownership-of/) — Extract the outer ownership form of T.
- [OwnershipOr](/docs/language/standard-library/modules/memory/newtype/ownership-or/) — Extract the ownership of T, or fall back to D.
- [PayloadOf](/docs/language/standard-library/modules/memory/newtype/payload-of/) — Extract the payload under the outermost memory form.
- [Phantom](/docs/language/standard-library/modules/memory/newtype/phantom/) — Zero-sized marker for ownership, variance, and drop behavior.
- [Pin](/docs/language/standard-library/modules/memory/newtype/pin/) — Address-stable storage wrapper.
- [Placed](/docs/language/standard-library/modules/memory/newtype/placed/) — Placement form for exactly T.
- [PlaceIn](/docs/language/standard-library/modules/memory/newtype/place-in/) — Resolve relative placement in concrete space S.
- [PlaceOf](/docs/language/standard-library/modules/memory/newtype/place-of/) — Extract the placement of T.
- [PlaceOr](/docs/language/standard-library/modules/memory/newtype/place-or/) — Extract the placement of T, or fall back to D.
- [Raw](/docs/language/standard-library/modules/memory/newtype/raw/) — Unsafe raw pointer form for exactly T.
- [SpaceOf](/docs/language/standard-library/modules/memory/newtype/space-of/) — Extract the explicit concrete space of T.
- [SpaceOr](/docs/language/standard-library/modules/memory/newtype/space-or/) — Extract the explicit concrete space of T, or fall back to D.
- [Unique](/docs/language/standard-library/modules/memory/newtype/unique/) — Unique traced heap handle containing exactly T.
- [UnsafeCell](/docs/language/standard-library/modules/memory/newtype/unsafe-cell/) — Unsafe interior mutable storage.
- [WithAccess](/docs/language/standard-library/modules/memory/newtype/with-access/) — Reborrow Q with access mode A.
- [WithBase](/docs/language/standard-library/modules/memory/newtype/with-base/) — Replace the unqualified base type of Q with T.
- [WithLifetime](/docs/language/standard-library/modules/memory/newtype/with-lifetime/) — Reborrow Q with lifetime L.
- [WithOwnership](/docs/language/standard-library/modules/memory/newtype/with-ownership/) — Add ownership form O around Q.
- [WithPlace](/docs/language/standard-library/modules/memory/newtype/with-place/) — Replace placement of Q with place P.
- [WithSpace](/docs/language/standard-library/modules/memory/newtype/with-space/) — Resolve relative placement of Q in concrete space S.

## Newtype interfaces

- [AsyncDispose](/docs/language/standard-library/modules/memory/newtype-interface/async-dispose/) — Deterministic asynchronous cleanup capability, called at the end of an await using scope.
- [Clone](/docs/language/standard-library/modules/memory/newtype-interface/clone/) — Mark a type as explicitly cloneable.
- [Concrete](/docs/language/standard-library/modules/memory/newtype-interface/concrete/) — Mark a type as having a complete storage representation.
- [Copy](/docs/language/standard-library/modules/memory/newtype-interface/copy/) — Mark a type as implicitly duplicable without ownership transfer.
- [Default](/docs/language/standard-library/modules/memory/newtype-interface/default/) — Mark a type as having a conventional default value.
- [Dispose](/docs/language/standard-library/modules/memory/newtype-interface/dispose/) — Deterministic synchronous cleanup capability, called at the end of a using scope.
- [Drop](/docs/language/standard-library/modules/memory/newtype-interface/drop/) — Ownership finalization capability.
- [DynamicSafe](/docs/language/standard-library/modules/memory/newtype-interface/dynamic-safe/) — Mark a type as safe for runtime erasure.
- [OverwriteStable](/docs/language/standard-library/modules/memory/newtype-interface/overwrite-stable/) — Mark a type as safe to overwrite through non-exclusive mutable access.
- [SharedSafe](/docs/language/standard-library/modules/memory/newtype-interface/shared-safe/) — Mark a type as safe to store in shared space.
- [Unpin](/docs/language/standard-library/modules/memory/newtype-interface/unpin/) — Mark a type as safe to move out of pinned storage.
- [Zeroable](/docs/language/standard-library/modules/memory/newtype-interface/zeroable/) — Mark a type as valid when all bytes are zero.

## Interfaces

- [MemoryBinding](/docs/language/standard-library/modules/memory/binding/interface/memory-binding/) — Memory binding family.

## Type aliases

- [Access](/docs/language/standard-library/modules/memory/type-alias/access/) — Access mode for qualified storage.
- [BorrowedFields](/docs/language/standard-library/modules/memory/type-alias/borrowed-fields/) — Rebase each field of T into borrowed form.
- [ExclusiveBorrowed](/docs/language/standard-library/modules/memory/type-alias/exclusive-borrowed/) — Exclusive borrowed access to T within lifetime L.
- [ExclusiveBorrowedFields](/docs/language/standard-library/modules/memory/type-alias/exclusive-borrowed-fields/) — Rebase each field of T into exclusive borrowed form.
- [Local](/docs/language/standard-library/modules/memory/type-alias/local/) — Place T in local space.
- [LocalFields](/docs/language/standard-library/modules/memory/type-alias/local-fields/) — Rebase each field of T into local space.
- [ManagedFields](/docs/language/standard-library/modules/memory/type-alias/managed-fields/) — Rebase each field of T into managed form.
- [MaybeOwned](/docs/language/standard-library/modules/memory/type-alias/maybe-owned/) — Readonly borrowed or owned value.
- [OwnedFields](/docs/language/standard-library/modules/memory/type-alias/owned-fields/) — Rebase each field of T into owned form.
- [Ownership](/docs/language/standard-library/modules/memory/type-alias/ownership/) — Ownership kind for qualified storage.
- [Place](/docs/language/standard-library/modules/memory/type-alias/place/) — Placement tag kind for qualified storage.
- [RawFields](/docs/language/standard-library/modules/memory/type-alias/raw-fields/) — Rebase each field of T into raw pointer form.
- [ReadonlyBorrowed](/docs/language/standard-library/modules/memory/type-alias/readonly-borrowed/) — Readonly borrowed access to T within lifetime L.
- [ReadonlyBorrowedFields](/docs/language/standard-library/modules/memory/type-alias/readonly-borrowed-fields/) — Rebase each field of T into readonly borrowed form.
- [Relative](/docs/language/standard-library/modules/memory/type-alias/relative/) — Restore relative placement of T.
- [RelativeFields](/docs/language/standard-library/modules/memory/type-alias/relative-fields/) — Rebase each field of T into relative placement.
- [Shared](/docs/language/standard-library/modules/memory/type-alias/shared/) — Place T in shared space.
- [SharedFields](/docs/language/standard-library/modules/memory/type-alias/shared-fields/) — Rebase each field of T into shared space.
- [Space](/docs/language/standard-library/modules/memory/type-alias/space/) — Concrete memory space tag kind.
- [StaticLifetime](/docs/language/standard-library/modules/memory/type-alias/static-lifetime/) — Builtin lifetime root for static storage.

## Functions

- [assumeInit](/docs/language/standard-library/modules/memory/function/assume-init/) — Move one initialized storage out as T.
- [assumeInitDrop](/docs/language/standard-library/modules/memory/function/assume-init-drop/) — Drop one initialized storage in place.
- [assumeInitExclusiveReference](/docs/language/standard-library/modules/memory/function/assume-init-exclusive-reference/) — Borrow one initialized storage with exclusive access.
- [assumeInitRead](/docs/language/standard-library/modules/memory/function/assume-init-read/) — Copy one initialized storage out without ending it.
- [assumeInitReadonlyReference](/docs/language/standard-library/modules/memory/function/assume-init-readonly-reference/) — Borrow one initialized storage with readonly access.
- [assumeInitReference](/docs/language/standard-library/modules/memory/function/assume-init-reference/) — Borrow one initialized storage.
- [drop](/docs/language/standard-library/modules/memory/function/drop/) — End ownership of value at this point.
- [forget](/docs/language/standard-library/modules/memory/function/forget/) — End ownership of value without running its destructor.
- [initAsExclusivePointer](/docs/language/standard-library/modules/memory/function/init-as-exclusive-pointer/) — Return an exclusive raw pointer to one storage.
- [initAsPointer](/docs/language/standard-library/modules/memory/function/init-as-pointer/) — Return a raw pointer to one storage.
- [initNew](/docs/language/standard-library/modules/memory/function/init-new/) — Create initialized storage for value.
- [initUninit](/docs/language/standard-library/modules/memory/function/init-uninit/) — Create uninitialized storage for T.
- [initWrite](/docs/language/standard-library/modules/memory/function/init-write/) — Initialize one storage with value.
- [initZeroed](/docs/language/standard-library/modules/memory/function/init-zeroed/) — Create zeroed storage for T.
- [replace](/docs/language/standard-library/modules/memory/function/replace/) — Replace destination and return its previous value.
- [swap](/docs/language/standard-library/modules/memory/function/swap/) — Exchange the values at left and right.
- [take](/docs/language/standard-library/modules/memory/function/take/) — Replace destination with its default value and return its previous value.

## Constants

- [memory](/docs/language/standard-library/modules/memory/binding/constant/memory/) — Current memory binding family.
