Visit type parameter in lifetime suggestion

Previously, Rebuilder did not visit type parameters when rebuilding
generics and path, so in some cases the suggestion turns out to be
erroneous.
Avoid injecting unfulfilled dependence in compiletest on libnative.
Two fixes to get `make check-stage1` working.

1. Fix a long-standing typo in the makefile: the relevant
   CTEST_NAME here is `rpass-full` (with a dash), not
   `rpass_full`.

2. The rpass-full tests depend on the complete set of target
   libraries.  Therefore, the rpass-full tests need to use
   the dependencies held in the CSREQ-prefixed variable, not
   the TLIBRUSTC_DEFAULT-prefixed variable.
After a hash mismatch error, emit file-system paths of crates involved.

Fix #13266.

There is a little bit of acrobatics in the definition of `crate_paths`
to avoid calling `clone()` on the dylib/rlib unless we actually are
going to need them.

The other oddity is that I have replaced the `root_ident: Option<&str>`
parameter with a `root: &Option<CratePaths>`, which may surprise one
who was expecting to see something like: `root: Option<&CratePaths>`.
I went with the approach here because I could not come up with code for
the alternative that was acceptable to the borrow checker.
std: Remove `RefCell::get()`

It's surprising that `RefCell::get()` is implicitly doing a clone
on a value. This patch removes it and replaces all users with
either `.borrow()` when we can autoderef, or `.borrow().clone()`
when we cannot.
std: Remove `RefCell::set()`
test: avoid infinite loop in out-of-stack.rs

This fixes #13238. It avoids an infinite loop when compiling
the tests with `-g`. Without this change, the debuginfo on
`black_box` prevents the method from being inlined, which
allows llvm to convert `silent_recurse` into a tail-call. This
then loops forever instead of consuming all the stack like it
is supposed to. This patch forces inlining `black_box`, which
triggers the right error.
rustdoc: Fix reporting of ignored tests

librustdoc: instead of skipping ignored tests, pass them to libtest
so it can report them as such.  If a test is marked as `notrust`,
however, it will not show up in the final report.
[std::cmp] add missing docs and provide an example
auto merge of #13301 : erickt/rust/remove-refcell-get, r=huonw

`RefCell::get` can be a bit surprising, because it actually clones the wrapped value. This removes `RefCell::get` and replaces all the users with `RefCell::borrow()` when it can, and `RefCell::borrow().clone()` when it can't. It removes `RefCell::set` for consistency. This closes #13182.

It also fixes an infinite loop in a test when debugging is on.
Remove libc from std

These wrappers are bound to a specific libc, and they don't need to be part of
libstd.
Change how the readdir/opendir hack works
Fix fallout from std::libc separation
auto merge of #12956 : killerswan/rust/docs, r=alexcrichton
rustdoc: Fix hiding of private fields

The calculation for whether a field is public or private was tweaked in #13184,
but I forgot to update rustdoc.

Closes #13310
auto merge of #13272 : ipetkov/rust/rustdoc-ignored-tests, r=alexcrichton

librustdoc: instead of skipping ignored tests, pass them to libtest
so it can report them as such.  If a test is marked as `notrust`,
however, it will not show up in the final report.

Fix #12939
Update README.md

Fix typo
Fix inner attribute syntax from `#[foo];` to `#![foo]`

From the 0.10 changelog:
 * The inner attribute syntax has changed from `#[foo];` to `#![foo]`.
Add stdlib docs to the Linux binary tarball.

These are not installed anywhere, but are included under `./doc` for
those who want an offline copy with their nightlies. This increases the
size of the (compressed) tarball from 76 to 83 MB.
syntax: remove obsolete mutability from ExprVec and ExprRepeat.