Rollup merge of #41064 - Gankro:ptr-redux, r=alexcrichton

refactor NonZero, Shared, and Unique APIs

Major difference is that I removed Deref impls, as apparently LLVM has
trouble maintaining metadata with a `&ptr -> &ptr` API. This was cited
as a blocker for ever stabilizing this API. It wasn't that ergonomic
anyway.

* Added `get` to NonZero to replace Deref impl
* Added `ptr` getter to Shared/Unique to replace Deref impl
* Added Unique's `get` and `get_mut` conveniences to Shared
* Deprecated `as_mut_ptr` on Shared in favour of `ptr`

Note that Shared used to primarily expose only `*const` but there isn't
a good justification for that, so I made it `*mut`.
This commit is contained in:
Corey Farwell 2017-05-05 17:35:24 -04:00 committed by GitHub
commit 6ace8a76cb
22 changed files with 278 additions and 197 deletions

@ -1 +1 @@
Subproject commit 616b98444ff4eb5260deee95ee3e090dfd98b947
Subproject commit 6fa139b1630a9bb95dcd60cfc90aff9c19e54580