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).
Doc: `static mut` is unsafe too

According to the corresponding section, accessing a mutable static variable requires `unsafe` too, and I believe it counts as as language level feature. Add it to the relevant list in the Unsafety section.
auto merge of #14463 : SergioBenitez/rust/deprecation-fix, r=alexcrichton

The deprecation warning text for mem::move_val_init was incorrect. It should point users to `overwrite` instead of itself.
Move trait impls for primitives near trait definition

Closes #12925
std: Remove format_strbuf!()

This was only ever a transitionary macro.
Issue #13933: Remove transmute_mut from IO

The IO libraries casted self to mut so they can pass it to seek(SEEK_CUR, 0).
Fix this by introducing a private seek function that takes &self
  - of course one should be careful with it if he lacks an
    exclusive reference to self.
auto merge of #14437 : Sawyer47/rust/utf16-items, r=alexcrichton

According to Rust's style guide acronyms should be CamelCase.
Issue #13933: Remove transmute_mut from Arc

directly use the internal pointer instead.
rustc: Accept PartialOrd/PartialOrdEq for Eq/Ord

This is a transitionary step towards completing #12517. This change modifies the
compiler to accept Partial{Ord,Eq} as deriving modes which will currently expand
to implementations of PartialOrd and PartialEq (synonyms for Eq/Ord).

After a snapshot, all of deriving(Eq, Ord) will be removed, and after a snapshot
of that, TotalEq/TotalOrd will be renamed to Eq/Ord.
auto merge of #13738 : buttslol/rust/armv7-support, r=alexcrichton

This was required to get ./configure to work on my armv7 test machine.

I haven't found anything sane to feature gate `hf` on that's pokable from the context of the configure script.

It also seems that gcc doesn't work on armv7 by default (rust wants to pass it `-m32` which isn't supported), would it be preferential to make the default `--enable-clang` on arm, or remove the `-m32` flag on that platform?
auto merge of #14464 : Sawyer47/rust/issue-12925, r=alexcrichton

This is an attempt of fixing #12925.

This PR moves almost all trait implementations for primitive types ((), bool, char, i*, u*, f*) near trait definitions. Only Float trait implementations weren't moved because they heavily rely on constants defined in f32.rs and f64.rs.

Some trait implementations had cfg(not(test)) attribute. I suspect it's because of issue 2912.
Still, someone who knows the problem better should probably check this code.

Closes #12925
Silence warning in RefCell test suite
Add AST node for pattern macros
Add patterns to MacResult
Expand macros in patterns
Parse macros in patterns

Fixes #6830.
Test pattern macros
auto merge of #14298 : kmcallister/rust/pattern-macros, r=huonw

First commit is an unrelated fix for a test suite warning I introduced last week.