messing around with pipes and stages
Don't generate set_buffer
core: Remove transitional code
std: remove transitional code
syntax: remove transitional code
testsuite: Remove call to set_buffer_, use set_buffer
Ignore test exclusive_unwrap_conflict. #4689
core/syntax: Add transitional code for pipes
syntax: Make the pipe compiler stop generating set_buffer_ calls
std: Stamp out structural records

See #4665
core/syntax: Staging fixes
demodeing, un-gc-ing

It looks to me like the string_reader and tt_reader structs are
GC pointers only because they predate the modern borrow system.
This commit leaves the type names string_reader and tt_reader alone
(they still refer to GC-ed pointers), but internally the functions
now use borrowed pointers to refer to these structures. My guess
would be that it's possible to move this change outward and not
use the GCed pointers at all, but that change looks like it could be
a larger one. Actually, I'm delighted at how quick this change was.
lines too long
core: Add a rand::Rand trait that is implemented by types that can be
randomly generated
Also adds Rng::gen() for generating any type that implements the Rand
trait
auto merge of #4793 : brson/rust/ignore_exclusive_unwrap_conflict, r=brson
auto merge of #4796 : catamorphism/rust/derecord_std, r=catamorphism

See #4665
Fix some bugs with -W unused-imports

1. Don't warn about anything not used in the prelude which is autmoatically
   injected, accomplished with a test that the span is equal to a dummy span.
2. Don't warn about unused imports from the injected intrinsic module,
   accomplished by testing against the name of the imported module
3. If anything is used from a glob import, don't warn about the glob import.
4. If an import imports more than one thing, and none of them are used, only
   issue a warning once

Also updated the unused-imports-warn test to have stricter requirements on
error messages.
Don't warn when imported traits are indeed used
Merge
Merge branch 'incoming' into removing