std: Chunk writing to stdout on windows

This just takes a similar approach to reading stdin on windows by artificially
limiting the size of the buffers going in and out.

Closes #14940
auto merge of #14945 : alexcrichton/rust/issue-14940, r=brson

This just takes a similar approach to reading stdin on windows by artificially
limiting the size of the buffers going in and out.

Closes #14940
Merge branch 'master' of https://github.com/mozilla/rust
auto merge of #14818 : tomjakubowski/rust/emacs-attributes-key-value, r=pnkfelix

This addresses two problems noted in #14347: the highlight of `#foo]` as an attribute, and the non-highlight of `#[foo = "bar"]`.
tutorial.md: tiny correction for --crate-type=lib

Compiling a crate with `rustc --crate-type=lib` produces an rlib file, not a shared object. The latter is only produced for `--crate-type=dylib`.
auto merge of #14970 : nkoep/rust/patch-1, r=huonw

Compiling a crate with `rustc --crate-type=lib` produces an rlib file, not a shared object. The latter is only produced for `--crate-type=dylib`.
rustdoc: Remove outdated syntax

Fixing some of rustdoc's rendering to use newer syntaxes rather than older
syntaxes.
auto merge of #14957 : alexcrichton/rust/rustdoc-fixups, r=huonw

Fixing some of rustdoc's rendering to use newer syntaxes rather than older
syntaxes.
librustc: Check regions for overloaded calls.
librustc: Make addresses of immutable statics insignificant unless
`#[inline(never)]` is used.

Closes #8958.

This can break some code that relied on the addresses of statics
being distinct; add `#[inline(never)]` to the affected statics.

[breaking-change]
auto merge of #14976 : luqmana/rust/focwtc, r=pcwalton

Fixes #14959.
auto merge of #14977 : pcwalton/rust/address-insignificant-reform, r=brson

`#[inline(never)]` is used.

Closes #8958.

This can break some code that relied on the addresses of statics
being distinct; add `#[inline(never)]` to the affected statics.

[breaking-change]

r? @brson
rustc: Add self/super hint for extern crate resolve errors.
Add a b'x' byte literal of type u8.
Add a b"xx" byte string literal of type &'static [u8].
Add br##"xx"## raw byte string literals.
Document the byte, byte string, and raw byte string literals.
Refactor backslash-escape parsing to share similar code.

Move into a new syntax::parse::lexer::StringReader method the code
that was almost duplicated for parsing backslash-escapes in
byte, byte string, char, and string literals.
Fix some violations of stronger guarantees for mutable borrows.

See 159e27aebb940926ccf1bad0b2b12087d36ad903
Remove TraitStore from ty_trait

Use ty_rptr/ty_uniq(ty_trait) rather than TraitStore to represent trait types.
Also addresses (but doesn't close) #12470.
Part of the work towards DST (#12938).

[breaking-change] lifetime parameters in `&mut trait` are now invariant. They used to be contravariant.