Fix an ICE with error types in a vec

Closes #16783
Forbid ~str and ~[]

This corrects a rebasing error. Also adds a test so it won't happen again.
Forbid the Sized bound on unsized types

closes #16800
Add note about string indexing.

Thanks @chris-morgan!
Revamp doc index

Fixes #14972
Allow `!` as the return type of proc/closure literals

Fixes #13490.
Relax lifetime bounds on Reader/Writer impls for trait boxes

Cargo needs this to be able to instantiate `TerminfoTerminal<Box<Writer+'a>>`
for 'a other than 'static.
Modifications to liblibc for raw/custom socket support.
num: implement `Hash` for `Complex` and `Ratio`
complex: use `///...` instead of `/**...*/` for comment
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>
Remove the branch merging optimisations for slice patterns

They were only correct in the simplest case. Some of the optimisations
are certainly possible but should be introduced carefully and only
when the whole pattern codegen infrastructure is in a better shape.

Fixes #16648.
Defailbloat fail!(string)
Allow ExprLit expression macros to be used in patterns.
gensym each test re-export module individually

Fixes #16597
test: Fix the tcp-accept-stress test

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
Address review comments, add tests
&mut [T] now implements Collection. Fixes #16896