Tests shouldn't read from stdin.

As far as I can tell, the only reason run-pass/type-use-i1-versus-i8
is trying to do a read is because that code was left over from the
original program the issue was found in.  When that test is run as
part of check-fast, and apparently only in that case, the test blocks
indefinitely, which is bad.
syntax: Allow 1-tuple expressions

This is for greater uniformity (for example, macros that generate
tuples). rustc already supported 1-tuple patterns, but there was no
way to construct a 1-tuple term.
rustc: For one-tuples, make parsing and printing the type work

and add a test to reflect-visit-data
move shootout-mandelbrot to LinearMap, add depth argument
update copyright dates
fix ICE after incorrect number of args in calls
Mention rust tool in the tutorial
auto merge of #5002 : catamorphism/rust/one-tuples, r=graydon

r? @graydon - This is for greater uniformity (for example, macros that generate
tuples). rustc already supported 1-tuple patterns, but there was no
way to construct a 1-tuple term.

@graydon , as far as your comment on #4898 - it did turn out to be solvable inside the macro (since @luqmana already fixed it using structs instead), but I still think it's a good idea to allow 1-tuples, for uniformity. I don't think anyone is likely to trip over it, and I'm not too worried that it changes the amount of ambiguity.
Check type when struct is matched against enum-like pattern

Previously check always succeeded because struct type was derived from
the matched expression, not the matched pattern.
auto merge of #5032 : lifthrasiir/rust/issue-4935, r=catamorphism

Actually a trivial fix. Fixes the issue #4935.
Give the rust tool an own section in the tutorial.
auto merge of #4999 : erickt/rust/incoming, r=brson

This patch series is doing a couple things with the ultimate goal of removing `#[allow(vecs_implicitly_copyable)]`, although I'm not quite there yet. The main change is passing around `@~str`s in most places, and using `ref`s in others. As far as I could tell, there are no performance changes with these patches, and all the tests pass on my mac.
Rewrited section about rust tool
auto merge of #5000 : jld/rust/test-stdin-thing, r=graydon

As far as I can tell, the only reason run-pass/type-use-i1-versus-i8
is trying to do a read is because that code was left over from the
original program the issue was found in.  When that test is run as
part of check-fast, and apparently only in that case, the test blocks
indefinitely, which is bad.
Fix for issue 4875
auto merge of #5006 : tedhorst/rust/linear_mand, r=brson
use range assert when loading enum discriminant

Closes #4924
auto merge of #5040 : Kimundi/rust/incoming, r=graydon
add range assert when loading bools
auto merge of #5039 : alexcrichton/rust/issue-4875, r=catamorphism

It looks like the type for the whole pattern wasn't being written back, so when privacy tried to look it up everything died.