2.0.0 - This version may not be safe as it has not been updated for a long time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform
Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.
Apache-2.0 - Apache License 2.0Quite often, uses of std::mem::uninitialized() end up in unsound code.
Therefore, the MaybeUninit union has been added to std::mem and std::mem::uninitialized() is being deprecated.
However, MaybeUninit has been added quite recently.
Sometimes you might want to support older versions of Rust as well.
Here is where maybe-uninit comes in: it supports stable Rust versions starting with 1.20.0.
Sadly, a feature-complete implementation of MaybeUninit is not possible on stable Rust.
Therefore, the library offers the guarantees of MaybeUninit in a staged fashion:
Rust 1.36.0 onward: MaybeUninit implementation of Rust stable is being re-exported
Rust 1.22.x - 1.35.0: No panicing on uninhabited types,
unsoundness when used with types like bool or enums.
However, there is protection from accidentially Droping e.g. during unwind!
Rust 1.20.x - 1.21.x: No support for Copy/Clone of MaybeUninit<T>,
even if T impls Copy or even Clone.