Add lru_cache to libextra
Disable priv in std::comm::Port, etc

It's useful to allow users to get at the internal std::rc::comm::Port,
and other such fields, since they implement important traits like
Select.
don't create intermediate string while creating json (rustdoc)
Support OSX frameworks

This adds support to link to OSX frameworks via the new link attribute when
using `kind = "framework"`. It is a compiler error to request linkage to a
framework when the target is not macos because other platforms don't support
frameworks.

Closes #2023
Rewrite the issue-10734 rpass file

Stop relying on a malloc error to indicate failure and instead use an
explicit check. Also ensure that the value is dropped at the correct
time (e.g. that the if statement is translated into `{ expr }` instead
of `expr`).
ast: Remove one `@` and fix the fallout
auto merge of #10748 : kballard/rust/issue-10734-rpass, r=alexcrichton

Stop relying on a malloc error to indicate failure and instead use an
explicit check. Also ensure that the value is dropped at the correct
time (e.g. that the if statement is translated into `{ expr }` instead
of `expr`).
Add struct and type doc comments for extra::url::*
auto merge of #10750 : Blei/rust/no-at-struct-field, r=alexcrichton
*Actually* fix `make install` with rlibs

Turns out that we only want to install the target rlibs, not the host rlibs.
I had it backwards the first time, then mixed up the second time, but this time
should get it right.

There's no need for host rlib files because none of them are needed at runtime.
remove useless `transmute_immut` function
rustc: filter out empty linker args

This is inspired by a mystifying linker failure when using `pkg-config` to
generate the linker args: `pkg-config` produces output that ends in a
space, thus resulting in an empty linker argument.

Also added some updates to the concerning error messages that helped
spotting this bug.
auto merge of #10749 : Blei/rust/fix-linker-args, r=alexcrichton

This is inspired by a mystifying linker failure when using `pkg-config` to
generate the linker args: `pkg-config` produces output that ends in a
space, thus resulting in an empty linker argument.

Also added some updates to the concerning error messages that helped
spotting this bug.
auto merge of #10756 : thestinger/rust/transmute, r=alexcrichton
Add struct and type doc comments for extra::url::*

Updated doc comments further, following suggestions from huonw in PR
#10752.
auto merge of #10753 : alexcrichton/rust/fix-make-install, r=huonw

Turns out that we only want to install the target rlibs, not the host rlibs.
I had it backwards the first time, then mixed up the second time, but this time
should get it right.

There's no need for host rlib files because none of them are needed at runtime.
Add placeholder text to the search bar in the documentation.
Add a type="search" to the search bar in the documentation.
rename MutableVector::mut_split(at) to MutableVector::mut_split_at(at)
Fix type inference for proc expressions