Add placeholder text to the search bar in the documentation.
Add a type="search" to the search bar in the documentation.
Declare librustrt a static dependency of libextra

This wasn't uncovered during testing because the librustrt is available locally
in the build directory (and it needs to be for all the tests to link against it
as well).

Closes #10765
Make the ccache-free case look like the ccache case.

This fixes a problem with `make check` clang -Werror failing due to an
unused -Llib arg.
Add test for #3053. Fixes #3053.
Add section on closure types to manual
auto merge of #10759 : SiegeLord/rust/placeholder, r=cmr

This makes the search bar more visible.
auto merge of #10771 : pnkfelix/rust/fix-make-check-for-ccacheless-clang, r=acrichto

 This fixes a problem with `make check` clang -Werror failing due to an unused -Llib arg.
auto merge of #10770 : alexcrichton/rust/static-librustrt, r=alexcrichton

This wasn't uncovered during testing because the librustrt is available locally
in the build directory (and it needs to be for all the tests to link against it
as well).

Closes #10765
rustdoc: Tell rustc we're building a library

This makes sure that when generating documentation we don't waste time doing
things like looking for a main function.
auto merge of #10772 : alexcrichton/rust/issue-3053, r=alexcrichton

Rebasing #10446 with a `pub fn main`
auto merge of #10773 : jvns/rust/patch-1, r=cmr

The section on closure types was missing, so I added one. I'm new to Rust, so there are probably important things to say about closure types that I'm missing here.

I tested the example with the latest Rust nightly.
auto merge of #10782 : alexcrichton/rust/rustdoc-lib, r=thestinger

This makes sure that when generating documentation we don't waste time doing
things like looking for a main function.
Continue tightening holes in reachability

* Don't flag any address_insignificant statics as reachable because the whole
  point of the address_insignificant optimization is that the static is not
  reachable. Additionally, there's no need for it to be reachable because LLVM
  optimizes it away.

* Be sure to not leak external node ids into our reachable set, this can
  spuriously cause local items to be considered reachable if the node ids just
  happen to line up
Tidy up a few problems with run-make tests

Use the correct set of dependencies as well as CFG_PYTHON instead of assuming
'python' is the right one.
Resume propagation of linking to native dylibs

The reasons for this are outlined in issue #10743 as well as the comment I have
now placed in the code.

Closes #10743
auto merge of #10777 : alexcrichton/rust/issue-10743, r=luqmana

Commit messages have the fun details, the focus of this is closing #10743 though