Improve the error messages for mismatched numbers of type params.
Fix the handling of type params on generic static methods. Closes #7571.
Fix another default method ICE in type_use. Closes #7675.

Also reworks a bunch of type_use to make things work for default
static methods soon.
Clean up Repr impls a bit so we can add generic impls for @ and ~.
Normalize self types for monomorphization.
Get static default methods working in the non-cross-crate case. Work on #7569.
Get cross crate static default methods working. Closes #7569.
Drop a now unnecessary argument from maybe_instantiate_inline.
Take default methods out from behind the flag.
Expand ctypes warnings to warn about *int/*uint

Also ends up fixing one case in libstd
Vim syntax: support lifetimes with delimitMate.

When it's a lifetime, a single quotation mark shouldn't have a matching
single quotation mark inserted after it, as delimitMate does by default.

Note that this is not without problems; a char literal coming after an
odd number of lifetime markers will have its quotation marks behave a
little strangely. That, however, is not my fault, but delimitMate's:
https://github.com/Raimondi/delimitMate/issues/135
extend the iterator tutorial

documents conversion, size hints and double-ended iterators and adds
more of the traits to the prelude
Fix problem with switching between Rust buffers.

This was also causing trouble if one didn't have delimitMate installed.
Remove the global 'vec::to_owned' function
Account for possible 0-sized elements in vector iterators

Closes #7733
auto merge of #7736 : thestinger/rust/doc, r=thestinger

2b96408 r=sanxiyn

documents conversion, size hints and double-ended iterators and adds
more of the traits to the prelude
auto merge of #7725 : msullivan/rust/default-methods, r=pcwalton

r?
auto merge of #7742 : chris-morgan/rust/delimitmate-support, r=cmr

When it's a lifetime, a single quotation mark shouldn't have a matching
single quotation mark inserted after it, as delimitMate does by default.

Note that this is not without problems; a char literal coming after an
odd number of lifetime markers will have its quotation marks behave a
little strangely. That, however, is not my fault, but delimitMate's:
https://github.com/Raimondi/delimitMate/issues/135
dlist: Fix bug in DList::merge

Did not properly allow runs from the `other` list to be merged in. The
test case was using a wrong expected value.

Edited docs for merge so they explain more clearly what it does.

Also make sure insert_ordered is marked pub.
dlist: Implement DoubleEndedIterator and use for .iter() and .rev_iter()