Distinguish tuple elements by index in mem_categorization. Fixes #5362.
Add Ptr::to_option method
Typo corrected and updated copyright years
Add ARC::get method and implements the function from it. Add an example showing a simple use of ARC.
Update to stop unsolicited copying and mark methods as unsafe
Remove legacy_modes
Remove two warnings about unneccesary safe blocks.

Since a snapshot was done last night, these are good to go.
auto merge of #6643 : sanxiyn/rust/legacy-modes, r=bstrie
Avoid range checks in HashMap::each()
auto merge of #6644 : steveklabnik/rust/remove_unsafe_warning, r=bstrie

Since a snapshot was done last night, these are good to go.
Optimize the lookup of traits containing a given method

Currently, trait_info is a hashmap that allows a quick lookup of all
methods contained in a given trait, but we actually only use it to
lookup traits that contain a given method. Adjusting the map to support
the lookup we actually need gives a nice speed boost, reducing the time
required for the resolution step for librustc from ~2.6s to ~1.0s on my
box.
Correctly track the source of imports with the same name
refactoring test functions
parser comment
detect unused attrs in one more place, allow parsing to continue for all

changed a bunch of fatal()'s into err()'s, to allow parsing to proceed.
hygiene infrastructure.

- added a hash table to memoize rename and mark operations.
- added rename, mark, and resolve fold fns
getting rid of interner_key! macro
added and rewrote text for 'do' and 'for' loops
auto merge of #6559 : jbclements/rust/hygiene-fns-and-cleanup, r=jbclements

This includes new, tested, hygiene support functions. It also removes the interner_key! macro and replaces it with a function, which should be inline-able. It also contains some parser patch-ups and some docfixes.

On my machine, this patch passes all tests.
Implement a lint mode to detect unnecessary allocations