Fix an ICE with error types in a vec

Closes #16783
Modifications to liblibc for raw/custom socket support.
Detect a traits being used as structs in check_expr_with_unifier

Fixes #16750
Fixes #15812
Added cfail test
Changed error to 'use of trait `{}` as a struct constructor'
Fix win64 regression introduced by #15773

Signed-off-by: Peter Atashian <retep998@gmail.com>
Defailbloat fail!(string)
Allow ExprLit expression macros to be used in patterns.
&mut [T] now implements Collection. Fixes #16896
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
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.
auto merge of #16867 : wickerwaka/rust/ice-16750, r=alexcrichton

Not sure if this is addressing the root cause or just patching up a symptom. Also not sure if I should be adding a diagnostic code for this.

Fixes #16750
Fixes #15812
auto merge of #16897 : japaric/rust/mut-slice-collection, r=alexcrichton
DST raw pointers - *-pointers are fat pointers
doc: Fix spelling errors.
auto merge of #16924 : steveklabnik/rust/manual_pointer_fix, r=pcwalton

This was brought up in IRC: https://botbot.me/mozilla/rust/2014-08-30/?msg=20733803&page=26