Improved the tags impl regex
Sort trait bounds.

Closes #6334
collections, unicode: Add support for NFC and NFKC
Guide: testing
Library changes for RFC #43
Add two helper functions for dealing with OwnedPtr paths
Implement RFC #43

Remove the ability of the borrow checker to determine that repeated
dereferences of a Box<T> refer to the same memory object. This will
usually require one of two workarounds:

1) The interior of a Box<T> will sometimes need to be moved / borrowed
into a temporary before moving / borrowing individual derived paths.

2) A `ref x` pattern will have to be replaced with a `box ref x`
pattern.

Fixes #16094.

[breaking-change]
Add a new test for borrow checker Box<T> behavior
Add comment about speed in FAQ.

Fixes #11174.
Guide: pointers

Not the pointer guide, but the guide section on pointers.

Adding a section about patterns for after this, as well.
doc: fix typos in std::num::Int
Stop using the Show impl for ast::Name in our symbols

When generating a unique symbol for things like closures or glue_drop,
we call token::gensym() to create a crate-unique Name. Recently, Name
changed its Show impl so it no longer prints as a number. This caused
symbols like glue_drop:1542 to become glue_drop:"glue_drop"(1542), or in
mangled form, glue_drop.$x22glue_drop$x22$LP$1542$RP$.
Be more consistent with "Hello, world!"
Correct RFC reference in time::Tm::rfc3339 docs

Fixes #16158
Change strptime::match_strs to use borrowed rather than owned strings

Also modernise a few constructs in match_strs().
rustdoc: Use --crate-name with --test

This ensures that the name of the crate is set from the command line for tests
so the auto-injection of `extern crate <name>` in doc tests works correctly.
auto merge of #16152 : tshepang/rust/patch-1, r=alexcrichton
Fix API docs css reversing elements that it shouldn't

remove unneeded `pre.rust a' selector

move transform into `.test-arrow`

fixes #16138
Add is_unique(), try_unwrap(), get_mut() to alloc::rc

Add a few new free functions to alloc::rc for manipulating
uniquely-owned Rc values. is_unique() can be used to test if the Rc is
uniquely-owned, try_unwrap() can remove the value from a uniquely-owned
Rc, and get_mut() can return a &mut for a uniquely-owned Rc.

These are all free functions, because smart pointers should avoid having
methods when possible. They can't be static methods because UFCS will
remove that distinction. I think we should probably change downgrade()
and make_unique() into free functions as well, but that's out of scope.
auto merge of #16101 : kballard/rust/rc_unique_ownership, r=aturon

Add a few new free functions to alloc::rc for manipulating
uniquely-owned Rc values. is_unique() can be used to test if the Rc is
uniquely-owned, try_unwrap() can remove the value from a uniquely-owned
Rc, and get_mut() can return a &mut for a uniquely-owned Rc.

These are all free functions, because smart pointers should avoid having
methods when possible. They can't be static methods because UFCS will
remove that distinction. I think we should probably change downgrade()
and make_unique() into free functions as well, but that's out of scope.