rustdoc: Fix some more broken links
rustdoc: Filter private methods from inlined impls

Closes #14583
mk: Less noisy rustdoc invocations
rustdoc: Ensure external impls are inlined once

If the type associated with the impl is `pub use`'d or referenced twice in a
downstream crate, the impl will attempt to be inlined twice.

Closes #14584
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.
rustdoc: Deduplicate lists of implementors

Inlining caused implementors to show up multiple times.

cc #14584
rustdoc: Correctly inline required/provided methods

Apparently relying on provided_source in ty::Method is unreliable!

Closes #14594
test: Add tests for closed issue #10764

Closes #10764
Improve code reuse in check_match::specialize()
Remove further code duplication
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.
Adding show impl for Rc
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.
std: add `IterReader` to adapt iterators into readers
auto merge of #14609 : aturon/rust/issue-12882, r=alexcrichton
Update README file for src/ directory
Add next_permutation and prev_permutation onto MutableOrdVector<T>.

Unlike ImmutableClonableVector::permutations() which returns an iterator,
cloning the entire array each iteration, these methods mutate the vector in-place.
For that reason, these methods are much faster; between 35-55 times faster,
depending on the benchmark. They also generate permutations in lexicographical order.
Doc: grammar fix in intro.md