Fix an ICE on a cast from an inferred nil to uint

Fixes #10991.
rustc: Add self/super hint for extern crate resolve errors.
emacs: Don't overwrite font lock for attributes

This addresses the font lock regression introduced by the earlier pull
request #14818 - attributes are no longer be highligted inside of comments
and strings.

Also add some font lock test infrastructure and some tests for attribute
font locking.
emacs: Add shebang to test script
emacs: Remove outdated references to ~ in tests
rustc: reduce redundant resolve errors.
Wrap debuginfo.rs at 80 columns.

Plus a few other misc style things.
change ~[] -> Vec for collect()

This updates the documentation for result::collect() and
option::collect() to use the new-style syntax for vectors, instead of
the old ~[].

Also updates the code blocks for these docs so they will be tested
automatically.

closes #14991
auto merge of #14992 : nathantypanski/rust/collect-docs, r=huonw

This updates the documentation for result::collect() and
option::collect() to use the new-style syntax for owned pointers and
vectors.

closes #14991
fix signatures of mmap-related functions from libc
rustdoc: Fix testing indented code blocks

The collapse/unindent passes were run in the wrong order, generating different
markdown for indented tests.
rustdoc: Don't inject `extern crate std`.

No need to duplicate the compiler's work!

Closes #14999
std: Remove dual export of `Show`

Closes #14996
auto merge of #14994 : nick29581/rust/comments, r=bstrie

Plus a few other misc style things.
auto merge of #15000 : alexcrichton/rust/fix-rustdoc-tests, r=huonw

Commits have the descriptions.
auto merge of #14990 : tomjakubowski/rust/emacs-fix-attribute-highlight, r=pnkfelix

This addresses the font lock regression introduced by the earlier pull
request #14818 - attributes are no longer be highligted inside of comments
and strings.

Also add some font lock test infrastructure and some tests for attribute
font locking and fix some minor nits.
auto merge of #14984 : thestinger/rust/libc, r=alexcrichton
Bug fixes for flowgraph construction.

1. After recursively processing an ExprWhile, need to pop loop_scopes
   the same way we do for ExprLoop.

2. Proposed fix for flowgraph handling of ExprInlineAsm: we need to
   represent the flow into the subexpressions of an `asm!` block.
NodeIndex should derive `Show`.
Revise dataflow to do a cfg-driven walk.

Fix #6298.

This is instead of the prior approach of emulating cfg traversal
privately by traversing AST in same way).

Of special note, this removes a special case handling of `ExprParen`
that was actually injecting a bug (since it was acting like an
expression like `(*func)()` was consuming `*func` *twice*: once from
`(*func)` and again from `*func`).  nikomatsakis was the first one to
point out that it might suffice to simply have the outer `ExprParen`
do the consumption of the contents (alone).

(This version has been updated to incorporate feedback from Niko's
review of PR 14873.)