Add a copy-on-write container.
Added Freeze trait to CowArc
Add `extra::getopts::short_usage`

This complements `usage` by auto-generating a short one-liner summary
of the options.
Rename reserve to reserve_exact and reserve_at_least to reserve

Changes in std::{str,vec,hashmap} and extra::{priority_queue,ringbuf}.
Fixes #11949
Feature gate all quasi-quoting macros.
Register new snapshots
Replaced with a single "quote" feature gate.
auto merge of #11951 : dmanescu/rust/reserve-rename, r=huonw

Changes in std::{str,vec,hashmap} and extra::{priority_queue,ringbuf}.
Fixes #11949
auto merge of #12026 : alexcrichton/rust/snapshots, r=cmr
Don't copy arguments passed by value with indirection to allocas.
Check for trait impl conflicts across crates
auto merge of #11230 : csherratt/rust/cow, r=alexcrichton

This allows patch adds a new arc type that allows for creation of copy-on-write data structures. The idea is that it is safe to mutate any data structure as long as it has only one reference to it. If there are multiple, it requires cloning of the data structure before mutation is possible.
Improved pattern-match code and explanation.

This cleans up a warning about an unused variable and explains the code
further.
Adding tests for closed issues

Closes #5521
Closes #9396
Closes #10714
Make cfail test error messages more precise

Closes #3192
Run all target crate tests on the windows/try bots

Previously, the check-fast and check-lite test suites weren't picking up all
target crates, rather just std/extra. In order to ensure that all of our crates
work on windows, I've modified these rules to build the test suites for all
TARGET_CRATES members. Note that this still excludes rustc/syntax/rustdoc.
auto merge of #12014 : eddyb/rust/less-copies, r=cmr
auto merge of #12018 : alexcrichton/rust/triage, r=sfackler

Mostly just test suite modifications.
auto merge of #12023 : nick29581/rust/err_res, r=alexcrichton

closes #3512
stop calling `exchange_free` on 0-size types

A solid step towards fixing #11998. Eventually, the size may always be
passed to `exchange_free` but this will not be required to fix the bug.