gecko-dev/third_party/rust/maybe-uninit
Emilio Cobos Álvarez ba2a3835f3 Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel
This should help us isolate what rayon changes could've caused this
stability issue on 32-bit windows.

Automatically generated with:

$ cargo update -p rayon --precise 1.4.1 && cargo update -p rayon-core --precise 1.8.1 && ./mach vendor rust

Differential Revision: https://phabricator.services.mozilla.com/D108045
2021-03-12 11:35:08 +00:00
..
src Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel 2021-03-12 11:35:08 +00:00
tests Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel 2021-03-12 11:35:08 +00:00
.cargo-checksum.json Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel 2021-03-12 11:35:08 +00:00
Cargo.toml Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel 2021-03-12 11:35:08 +00:00
LICENSE-APACHE Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel 2021-03-12 11:35:08 +00:00
LICENSE-MIT Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel 2021-03-12 11:35:08 +00:00
README.md Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel 2021-03-12 11:35:08 +00:00
build.rs Bug 1694671 - Downgrade rayon-core to 1.8.1, rayon to 1.4.1. r=jrmuizel 2021-03-12 11:35:08 +00:00

README.md

maybe-uninit

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