&mut [T] now implements Collection. Fixes #16896
Change rustc to say `array` instead of `vector`
auto merge of #16895 : alexcrichton/rust/rollup, r=alexcrichton

Let's try this again!
auto merge of #16788 : Manishearth/rust/raw-ptr-syntax-ty, r=huonw

@huonw , r? :)

#16781
Add unwrap method to MoveItems
Fix whitespace and missing parentheses.
auto merge of #16894 : alexcrichton/rust/issue-16872, r=huonw

It was previously asserted that each thread received at least one connection,
but this is not guaranteed to always be the case due to scheduling. This test
also deadlocked on failure due to a lingering reference to the sending half of
the channel, so that reference is now also eagerly dropped so the test can fail
properly if something bad happens.

Closes #16872
Rename `RawPtr::to_option()` to `RawPtr::as_ref()`

As outlined in

  https://aturon.github.io/style/naming/conversions.html

`to_` functions names should only be used for expensive operations.
Thus `to_option` is better named `as_option`. Also, putting type
names into method names is considered bad style; what the user is
really trying to get is a reference. This `as_ref` is even better.

Also, we are missing a mutable version of this method. So add a
new trait `RawMutPtr` with a corresponding `as_mut` methode.

Finally, there is a bug in the signature of `to_option` which has
been around since lifetime elision: originally the returned reference
had 'static lifetime, but since the elision changes this become
the lifetime of the raw pointer (which does not make sense, since
the pointer lifetime and referent lifetime are unrelated). Fix
the bug to return a reference with a fresh lifetime (which will
be inferred from the calling context).

[breaking-change]
auto merge of #16809 : nick29581/rust/dst-bug-3, r=alexcrichton

This corrects a rebasing error. Also adds a test so it won't happen again.

r?
Have std::io::TempDir::new and new_in return IoResult

This allows using `try!()`

[breaking-change]

Fixes #16875
Make doc search results use <a> tags instead of js for navigating

This has the primary advantage of not interfering with browser default
behavior for links like being able to cmd/ctrl+click on a result to open
the result in a new tab but leave the current page as-is (previous
behavior both opened a new tab and changed the current tab's location to
the result's)
Second approach - using type contents
test: Tweak tcp-accept-stress one last time

The tcp-accept-stress, despite the previous modifications, is still deadlocking
on the osx buildbots. When building/testing/running repeatedly locally, it was
discovered that the test would often fail with TcpStream::connect returning the
error `address not available`.

This test opens up quite a large number of sockets, and it looks like by default
osx isn't the speediest at recycling those sockets for further use.

The test has been modified (and verified) to not deadlock in this error case,
and the test is not just officially ignored on OSX (with no FIXME). I believe
that we'll get good coverage of the relevant code on the linux builders, so this
isn't so much of a loss.

At the same time I turned down the stress parameters to hopefully lighten the
socket load on other platforms.
auto merge of #16844 : mrmonday/rust/liblibc-custom-socket, r=alexcrichton

These are the additions to liblibc required for raw/custom socket support. I've broken this into a separate pull request due to the upcoming I/O overhaul (was originally part of pull #15741).

cc @alexcrichton.
auto merge of #16802 : nick29581/rust/dst-bug-1, r=luqmana

Closes #16783 

r? @nikomatsakis
auto merge of #16871 : retep998/rust/win64-fix, r=alexcrichton

It was in a x86_64 block so the buildbots didn't notice it.
Fixes #16905
auto merge of #16886 : Tobba/rust/defailbloat-string, r=alexcrichton

by not performing formatting at the failure site

This cuts about 673382 bytes from libcore.rlib
Updated to new extern crate syntax.
Added warning for old deprecated syntax
auto merge of #16891 : eddyb/rust/patlit-from-expr-macros, r=kballard

Enables any macros using `MacExpr` to be treated as patterns when
they produce a literal in the form `ExprLit` (e.g. `stringify!` or `line!`).

Fixes #16876.
Fix pointer types in the manual.