extra: Add a testcase for #7256.
librustc: Don't allow enum struct variants to shadow structs.
Add test for duplicate definitions of structs and enum struct variants.
Added filtered method for Option type
iterator: add a size_hint default method

also adds an implementation for the vector iterators
iterator: add a FromIterator trait

This is able to take advantage of the lower bound from the size hint.
vec: remove BaseIter implementation

I removed the `static-method-test.rs` test because it was heavily based
on `BaseIter` and there are plenty of other more complex uses of static
methods anyway.
auto merge of #7274 : thestinger/rust/size_hint, r=huonw

I ran into a weird lifetime bug blocking updating the `collect` method to use `FromIterator`, but everything here works fine.
std::hashmap: Implement external iterator for HashMap and HashSet
std::hashmap: Add test_iterate for HashSet
std::hashmap: Use .iter() instead of .each and similar
std::hashmap: Remove BaseIter impl for HashSet

Remove the BaseIter impl, while keeping the .each method until callers
are converted.
std::to_str: Use .iter() for HashMap and HashSet
hashmap: add FIXME number
auto merge of #7258 : huonw/rust/7256, r=bstrie
auto merge of #7267 : luqmana/rust/issue-5792, r=cmr

Fixes #5792
Add rules for assert, fail, and deriving to vim syntax file. Also highlight the mod path in "use module;" properly.
Fix error messages in test cases, since fns/traits now pretty-print with a bounds list
auto merge of #7319 : thestinger/rust/hashmap-iterator, r=thestinger

#7277
Parse and typecheck (not kindcheck) bounds on trait paths.