Lifetime guide -> ownership guide
Replace some verbose match statements with their `if let` equivalent.

No semantic changes, no enabling `if let` where it wasn't already enabled.
mk: Use host llvm linkage paths, not target ones

We only build LLVM for the host architecture, not the target architecture, so
this was just a minor typo in the parameters uses.

Closes #19383
Fix the ordering of `unsafe` and `extern` in methods

This breaks code that looks like this:

    trait Foo {
        extern "C" unsafe fn foo();
    }

    impl Foo for Bar {
        extern "C" unsafe fn foo() { ... }
    }

Change such code to look like this:

    trait Foo {
        unsafe extern "C" fn foo();
    }

    impl Foo for Bar {
        unsafe extern "C" fn foo() { ... }
    }

Fixes #19398.

[breaking-change]
Fix typo in tests makefile
allow macro expansions in attributes
std: Remove implicit shrinking from hash_map.

Implements fn shrink_to_fit for HashMap.
std: Change the behavior of `reserve` for HashMap.

HashMap's `reserve` method now takes as an argument the *extra* space
to reserve.

[breaking-change]
fix missed switch pointed out in review plus a few others
std: add tests for the Vec<u8> Writer impl
std: add Reader impl for &[u8]
auto merge of #19418 : P1start/rust/unsafe-extern-trait, r=alexcrichton

Fixes #19398.
Add test for expanding doc strings in macros.
auto merge of #19425 : frewsxcv/rust/patch-1, r=steveklabnik

![](http://img2.wikia.nocookie.net/__cb20140809223829/disney/images/5/56/Darkwing_Duck_Poster_Promo.jpg)
auto merge of #19417 : alexcrichton/rust/issue-19383, r=huonw

We only build LLVM for the host architecture, not the target architecture, so
this was just a minor typo in the parameters uses.

Closes #19383
rustdoc: Use relative paths in source renders.

Before: doc/src/collections/home/lifthrasiir/git/rust/src/libcollections/vec.rs.html
After: doc/src/collections/vec.rs.html

If the source code is in the parent dirs relative to the crate root,
`..` is replaced with `up` as expected. Any other error like non-UTF-8
paths or drive-relative paths falls back to the absolute path.

There might be a way to improve on false negatives, but this alone
should be enough for fixing #18370.
added negative test for macro expansion in attributes
auto merge of #19436 : lifthrasiir/rust/rustdoc-short-src-paths, r=alexcrichton

Before: `doc/src/collections/home/lifthrasiir/git/rust/src/libcollections/vec.rs.html`
After: `doc/src/collections/vec.rs.html`

If the source code is in the parent dirs relative to the crate root, `..` is replaced with `up` as expected. Any other error like non-UTF-8 paths or drive-relative paths falls back to the absolute path.

There might be a way to improve on false negatives, but this alone should be enough for fixing #18370.
liblibc: getsid() was missing though setsid() was already there.

include <unistd.h>

pid_t getsid(pid_t pid);

CONFORMING TO
       SVr4, POSIX.1-2001.

Signed-off-by: NODA, Kai <nodakai@gmail.com>
test/run-make: another missing $(EXTRACFLAGS).

rust-lang/rust@102b1a5bf1a60eeafb752844e5c98fe5f4e3b992 was not enough!

Signed-off-by: NODA, Kai <nodakai@gmail.com>