auto merge of #16997 : gamazeps/rust/master, r=huonw

Changed the names according to the issue #16988
rustc: Refactor middle::trans::inline
Fix ICE with trans of calls to foreign fns

It was failing occasionally.
auto merge of #17002 : tari/rust/std-mut-ref-slice, r=alexcrichton

`std::slice` exported `ref_slice` but not `mut_ref_slice`. This change makes it export both.
auto merge of #17003 : nick29581/rust/impl, r=pcwalton

closes #16955 

r? @pcwalton
readdir: return error instead of failing on invalid UTF-16
Fixes #15279

Signed-off-by: Peter Atashian <retep998@gmail.com>
fix a sized deallocation issue in the glue code
fix sized deallocation for proc
auto merge of #17011 : nodakai/rust/rustdoc-stronger-crate, r=alexcrichton

If you browse to, say, http://doc.rust-lang.org/libc/types/os/common/posix01/struct.timeval.html , you will see the "location" window showing `libc::types::os::common::posix01`.  The first element points to a crate and others point modules.  This patch adds the bold attribute to the first (ie. crate) element so that it stands out more.
fix sized deallocation for Box<[T]>
fix sized deallocation for OwnedSlice
fix sized deallocation for TypedArena<T>
auto merge of #17012 : thestinger/rust/sized, r=nikomatsakis
mark win32 binaries as large address aware

By default, 32-bit Windows executables are restricted to 2GiB of address
space even when running on 64-bit Windows when 4GiB is available.

Closes #17043
auto merge of #16999 : brson/rust/fannkuch, r=alexcrichton

From the discussion on reddit:
http://www.reddit.com/r/rust/comments/2fenlg/benchmark_improvement_fannkuchredux/

This adds two variants: the primary, that uses an unsafe block, and a secondary
that is completely safe.

The one with the unsafe block matches clang's performance and beats gcc's.
auto merge of #17016 : steveklabnik/rust/fix_diagnostic_codes, r=huonw

Fixes #16449.
auto merge of #17018 : steveklabnik/rust/fix_projects_in_guide, r=huonw

Thanks @dherman.
auto merge of #17019 : steveklabnik/rust/remove_compromise, r=thestinger

@dherman doesn't like it :smile:
Add ICE regression test for issue #16218.

This code used to produce an ICE on the definition of trait Bar
with the following message:

Type parameter out of range when substituting in region 'a (root
type=fn(Self) -> 'astr) (space=FnSpace, index=0)

Closes #16218.
Add regression test for issue #10766

This test verifies that casting from the same lifetime on a value
to the same lifetime on a trait succeeds. Closes #10766.