librustc: Remove `~"string"` and `&"string"` from the language
Address nits from @pnkfelix
Merge pull request #1 from pnkfelix/clarify-omit-unit-vs-inference

Suggested revisions to PR 13676.
rustc: Fix def ids of xcrate-reexported items

This was just a typo in the decoder using the source crate's number rather than
the destination crate's number of a reexport.

Closes #13872
Add serialization support for StrBuf

- implement Encodable and Decodable for StrBuf
- implement to_json for StrBuf
auto merge of #13873 : alexcrichton/rust/issue-13872, r=Aatch

This was just a typo in the decoder using the source crate's number rather than
the destination crate's number of a reexport.

Closes #13872
rustdoc tutorial: grammar change in list comments
auto merge of #13724 : nikomatsakis/rust/expr-use-visitor, r=pnkfelix

Pre-step towards issue #12624 and others: Introduce ExprUseVisitor, remove the
moves computation. ExprUseVisitor is a visitor that walks the AST for a
function and calls a delegate to inform it where borrows, copies, and moves
occur.

In this patch, I rewrite the gather_loans visitor to use ExprUseVisitor, but in
future patches, I think we could rewrite regionck, check_loans, and possibly
other passes to use it as well. This would refactor the repeated code between
those places that tries to determine where copies/moves/etc occur.

r? @alexcrichton
Fixed outdated note in the tutorial
auto merge of #13875 : hjr3/rust/serialize-strbuf, r=alexcrichton

- implement Encodable and Decodable for StrBuf
- implement to_json for StrBuf
Add more comprehensive unit tests for SIMD binops
BigUint always use u64 as the internal machine unsigned integer

This change allow a speedup of ~1.5 on shootout-pidigits on a i32
system.  `DoubleBigDigit` is used to abstract the internal
unsigned integer used in computation to simplity future
architecture specialization.

`BigDigit::from_uint` and `BigDigit::to_uint` become
`BigDigit::from_doublebigdigit` and `BigDigit::to_doublebigdigit`.

[breaking-change]
auto merge of #13878 : brutal-chaos/rust/tutorial_grammar, r=alexcrichton
auto merge of #13881 : aochagavia/rust/pr, r=alexcrichton
Allow built-in traits to be derived

[RFC #3]

cc #13231
remove leftover obsolete string literals
fix error message for obsolete &"foo" literal
auto merge of #13877 : thestinger/rust/de-tilde-str-vec, r=alexcrichton
Fix a/an typos
Add debug_assert and debug_assert_eq macros

I also switched some `assert!` calls over to `debug_assert!`.

Closes #12049.

RFC: 0015-assert