Fix deriving Encodable trait for unit structs

Closes #14021
auto merge of #14596 : Sawyer47/rust/encodable-fix, r=alexcrichton

Closes #14021
docs: Stop using `notrust`

Now that rustdoc understands proper language tags
as the code not being Rust, we can tag everything
properly.

This change tags examples in other languages by
their language. Plain notations are marked as `text`.
Console examples are marked as `console`.

Also fix markdown.rs to not highlight non-rust code.
doc: Remove use of `pub use` globs
syntax: Remove use of `pub use` globs

`quote_expr!` now injects two more (priv) `use` globs.
This may cause extra unused_imports warning.
test: Add tests for closed issue #10764

Closes #10764
Improve code reuse in check_match::specialize()
Remove further code duplication
auto merge of #14509 : klutzy/rust/de-pub-use-glob, r=alexcrichton

This patchset removes `pub use` usage except for `test/`.
cc #11870
Document failure cases for `char_at` and friends.
auto merge of #14598 : alexcrichton/rust/triage, r=huonw

Closes #10764
auto merge of #14601 : skade/rust/remove-notrust-tags, r=alexcrichton

Now that rustdoc understands proper language tags
as the code not being Rust, we can tag everything
properly. `norust` as a negative statement is a bad
tag.

This change tags examples in other languages by
their language. Plain notations are marked as `text`.
Console examples are marked as `console`.

Also fix markdown.rs to not highlight non-rust code.

Amends the documentation to reflect the new
behaviour.
auto merge of #14605 : jakub-/rust/pattern-matching-refactor, r=pcwalton

I've been working around these parts of code and it seems like it could use a bit of a refactor. This is the first step.
auto merge of #14609 : aturon/rust/issue-12882, r=alexcrichton
Update README file for src/ directory
Doc: grammar fix in intro.md
auto merge of #14621 : Sawyer47/rust/fix-readme, r=alexcrichton
Implement ToJson for &[T], and add tests. Closes #14619
syntax: Make quasiquoter use absolute paths

As part of removing `pub use` glob, two extra import globs were
injected to make `quote_expr!` work. However the globs caused
`unused_import` warning in some places.

Quasiquoter needed the globs since it generated idents (e.g. `TyU`)
rather than absolute paths (`::syntax::ast::TyU`).
This patch removes the extra globs and makes quasiquoter use absolute
paths.

Fixes #14618
auto merge of #14622 : reillywatson/rust/master, r=alexcrichton