Crate maybe_dangling

Source
Expand description

§::maybe-dangling

ManuallyDrop<T> and MaybeDangling<T> semantics in stable Rust as per https://github.com/rust-lang/rfcs/pull/3336

Repository Latest version Documentation MSRV License CI no_std compatible

This crates offers two types, ManuallyDrop<T>, and MaybeDangling<T>, which do not carry aliasing/dereferenceable-ity properties w.r.t. the T they each contain, which means they are allowed to:

  1. have some expired value inside of them, such as T = &'expired …,
  2. be fed to a function that does not inspect its value (such as ::core::mem::forget()),
  3. exhibit well-defined behavior (no UB!).

§References

Structs§

ManuallyDrop
A wrapper to inhibit compiler from automatically calling T’s destructor. This wrapper is 0-cost.
MaybeDangling
Like crate::ManuallyDrop but for having drop glue. This wrapper is 0-cost.