]> git.lizzy.rs Git - rust.git/commit
Auto merge of #53508 - japaric:maybe-uninit, r=RalfJung
authorbors <bors@rust-lang.org>
Sat, 22 Sep 2018 23:08:03 +0000 (23:08 +0000)
committerbors <bors@rust-lang.org>
Sat, 22 Sep 2018 23:08:03 +0000 (23:08 +0000)
commitc6e3d7fa3113aaa64602507f39d4627c427742ff
treeff012996dd47c8d0a4034519b711b3c32e873cca
parent4591a245c7eec9f70d668982b1383cd2a6854af5
parent1cdbad20224a2e8da4a63aea8389b34bf8313281
Auto merge of #53508 - japaric:maybe-uninit, r=RalfJung

Implement `MaybeUninit`

This PR:

- Adds `MaybeUninit` (see #53491) to `{core,std}::mem`.
- Makes `mem::{uninitialized,zeroed}` panic when they are used to instantiate an uninhabited type.
- Does *not* deprecate `mem::{uninitialized,zeroed}` just yet. As per https://github.com/rust-lang/rust/issues/53491#issuecomment-414147666, we should not deprecate them until `MaybeUninit` is stabilized.
- It replaces uses of `mem::{uninitialized,zeroed}` in core and alloc with `MaybeUninit`.

There are still several instances of `mem::{uninitialized,zeroed}` in `std` that *this* PR doesn't address.

r? @RalfJung
cc @eddyb you may want to look at the new panicking logic