Cleanup lifetime guide
Clean pointers guide
get over bold text madness, changes per PR, brought the "returning pointers" section back to pointers guide
fix mostly grammar per PR comments
Use clang++ for CXX when --enable-clang.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
std: change select! docs from 'ports' to 'receivers'
fix MIPS target
auto merge of #14387 : alan-andrade/rust/remove_managed_boxes_and_gc, r=brson

My main goals were:
- be clear when we talk about "references" and "pointers"
- remove Managed boxes completely and the concept of GC.

https://github.com/mozilla/rust/issues/13987
rustdoc: Only link to local inlined foreign items

This commit alters rustdoc to keep a hash set of known inlined items which is a
whitelist for generating URLs to.

Closes #14438
Move std::{reflect,repr,Poly} to a libdebug crate

This commit moves reflection (as well as the {:?} format modifier) to a new
libdebug crate, all of which is marked experimental.

This is a breaking change because it now requires the debug crate to be
explicitly linked if the :? format qualifier is used. This means that any code
using this feature will have to add `extern crate debug;` to the top of the
crate. Any code relying on reflection will also need to do this.

Closes #12019

[breaking-change]
auto merge of #14364 : alexcrichton/rust/libdebug, r=brson

This commit moves reflection (as well as the {:?} format modifier) to a new
libdebug crate, all of which is marked experimental.

This is a breaking change because it now requires the debug crate to be
explicitly linked if the :? format qualifier is used. This means that any code
using this feature will have to add `extern crate debug;` to the top of the
crate. Any code relying on reflection will also need to do this.

Closes #12019

[breaking-change]
auto merge of #14452 : alexcrichton/rust/issue-14438, r=huonw

This commit alters rustdoc to keep a hash set of known inlined items which is a
whitelist for generating URLs to.

Closes #14438
auto merge of #14454 : omasanori/rust/cfg_cxx, r=alexcrichton
auto merge of #14455 : crabtw/rust/mips, r=alexcrichton

Because IPv4 address conversion doesn't consider big-endian target, I add functions to handle that.
These function names may need to be changed, but I can't come up with a good one.
auto merge of #14459 : seanmonstar/rust/select-docs, r=alexcrichton
rustdoc: cross-crate source links are one level lower.

Previously this was adding one-too-many `..`s to the path for the
`gotosrc=...` links for local crates. Also, the `root_path` already ends
in `/`s so a trailing / shouldn't be added after the root (some servers
treat `...//...` different to `.../...` including the one running
doc.rust-lang.org).
auto merge of #14458 : huonw/rust/rustdoc-cross-crate-link-path, r=alexcrichton

Previously this was adding one-too-many `..`s to the path for the
`gotosrc=...` links for local crates. Also, the `root_path` already ends
in `/`s so a trailing / shouldn't be added after the root (some servers
treat `...//...` different to `.../...` including the one running
doc.rust-lang.org).
rustc: Update how Gc<T> is recognized

This commit uses the same trick as ~/Box to map Gc<T> to @T internally inside
the compiler. This moves a number of implementations of traits to the `gc`
module in the standard library.

This removes functions such as `Gc::new`, `Gc::borrow`, and `Gc::ptr_eq` in
favor of the more modern equivalents, `box(GC)`, `Deref`, and pointer equality.

The Gc pointer itself should be much more useful now, and subsequent commits
will move the compiler away from @T towards Gc<T>

[breaking-change]
syntax: Move the AST from @T to Gc<T>
rustc: Move the AST from @T to Gc<T>