Promote unreachable code to being a lint attribute
Fix a bug with HashMap::consume
Rewrite deriving(Decodable, Encodable)

Now it uses the generic deriving code and should in theory work in all cases.
mv the raw pointer {swap,replace}_ptr to std::ptr
ptr: replace unnecessary unsafe code
xfail-fast the deriving test
Add as_c_str method on strings
bool: rm functions duplicating methods
fix tutorial lint warnings
auto merge of #6862 : thestinger/rust/swap, r=bstrie

I don't like the `util` module in general, and `ptr` is a much better place for these.
auto merge of #6864 : thestinger/rust/bool, r=pcwalton
auto merge of #6729 : bstrie/rust/ascstr, r=Aatch

Formerly this was a free function rather than a method. I've left it in place for now, although redefined it so that it just calls the method.
Optimize vec::from_elem with manual inlining (borrowck 1.85x speedup on libstd)
auto merge of #6876 : cmr/rust/from_elem_opts, r=Aatch

borrowck 1.85x speedup on libstd
auto merge of #6851 : alexcrichton/rust/bugfixes, r=pcwalton

Closes #5090 by using the excellent new generic deriving code

Promotes the unreachable code attribute to a lint attribute (instead of always being a warning)

Fixes some edge cases when creating hashmaps/hashsets and also when consuming them. (fixes #5998)
Reexport static methods on structs & enums.
Fix a small typo in a comment.
Better optimization pipeline
auto merge of #6881 : Aatch/rust/new-passes-2, r=thestinger

This is a better pipeline, both faster-running and produces faster code.

For some reason the `mergefunc` pass screws over resolve. I have no idea why though.
librustc: Don't require `pub extern` to make extern functions visible