Change the biguint documentation example to reflect deprecated owned vector
std: Mark timeout methods experimental

This was intended as part of the I/O timeouts commit, but it was mistakenly
forgotten. The type of the timeout argument is not guaranteed to remain constant
into the future.
Correct attribute grammar in reference manual
std: Ignore a flaky test on freebsd

This test runs successfully manually, but the bots are having trouble getting
this test to pass. Ignore it on freebsd for now.
Fix false lint warnings in match arms with multiple patterns

fixing #13866
core: Allow kinds derivings
libstd: Check TMPDIR for android as well and if not set use '/data/local/tmp' instead of '/data/tmp'.
auto merge of #14025 : tbrooks8/rust/big_uint_doc, r=alexcrichton

I changed the documentation for the BigUint to reflection the deprecation of ~[T] in favor of Vec<T>.
auto merge of #14035 : alexcrichton/rust/experimental, r=huonw

This was intended as part of the I/O timeouts commit, but it was mistakenly
forgotten. The type of the timeout argument is not guaranteed to remain constant
into the future.
Rename resolve_regions to resolve_regions_and_report_errors
Check lifetime parameters when we do check for supertrait impls. Fixes #14050.
Currently trans uses Vec<ty::t> to represent substitutions instead of a proper
ty::substs struct. This is a holdover from the olden days of yore. This patch
removes the last vestiges of that practice. This is part of the work
I was doing on #5527.
auto merge of #14043 : sanxiyn/rust/attr-reference, r=alexcrichton

Attribute grammar in reference manual allowed `#[foo, bar]`, which does not match parser behavior.

Also rename nonterminals to match parser code.

Fix #13825.
auto merge of #14044 : hirschenberger/rust/lint_mut_match, r=alexcrichton

fixing #13866
auto merge of #14053 : FlaPer87/rust/master, r=huonw

This patch allows for using derivings for `kinds` in libcore

r? @alexcrichton
auto merge of #14046 : alexcrichton/rust/ignore-a-test-on-freebsd, r=kballard

This test runs successfully manually, but the bots are having trouble getting
this test to pass. Ignore it on freebsd for now.
auto merge of #14054 : luqmana/rust/at, r=alexcrichton

`/data/local/tmp` seems to be more common.
auto merge of #14055 : nikomatsakis/rust/issue-5527-use-substs-in-trans, r=pcwalton

Code to use `ty::substs` in trans. As part of this, uncovered (and fixed) issue #14050.

r? @pcwalton
Add ToCStr impl for &Path and ~str

This is a stopgap until DST (#12938) lands.

Until DST lands, we cannot decompose &str into & and str, so we cannot
usefully take ToCStr arguments by reference (without forcing an
additional & around &str). So we are instead temporarily adding an
instance for &Path and ~str, so that we can take ToCStr as owned. When
DST lands, the &Path instance should be removed, the string instances
should be revisted, and arguments bound by ToCStr should be passed by
reference.

FIXMEs have been added accordingly.
Process::new etc should support non-utf8 commands/args

The existing APIs for spawning processes took strings for the command
and arguments, but the underlying system may not impose utf8 encoding,
so this is overly limiting.

The assumption we actually want to make is just that the command and
arguments are viewable as [u8] slices with no interior NULLs, i.e., as
CStrings. The ToCStr trait is a handy bound for types that meet this
requirement (such as &str and Path).

However, since the commands and arguments are often a mixture of
strings and paths, it would be inconvenient to take a slice with a
single T: ToCStr bound. So this patch revamps the process creation API
to instead use a builder-style interface, called `Command`, allowing
arguments to be added one at a time with differing ToCStr
implementations for each.

The initial cut of the builder API has some drawbacks that can be
addressed once issue #13851 (libstd as a facade) is closed. These are
detailed as FIXMEs.

Closes #11650.

[breaking-change]