tutorial.md : correct formula in fn area()

change formula (other solution could be using abs()).
Document std::ops.

Added an overview with a 'real' example, as well as toy implementations of all of
the traits.

Closes #9356.
Fix for make -j race from #9531 injected by cleanup in b1a22518f0c687db.
Update version numbers to 0.9-pre
Remove a little bit of unused C++
Remove `@mut Resolver`

Instead use &mut everywhere as much as possible and then reorganize lots of code
to get past the borrow checker.
std::vec: Use a valid value as lifetime dummy in iterator

The current implementation uses `&v[0]` for the lifetime struct field,
but that is a dangling pointer for iterators derived from zero-length
slices.

Example:

    let v: [int, ..0] = [];  println!("{:?}", v.iter())

    std::vec::VecIterator<,int>{ptr: (0x7f3768626100 as *()), end: (0x7f3768626100 as *()), lifetime: &139875951207128}

To replace this parameter, use a field of type `Option<&'self ()>`
that is simply initialized with `None`, but still allows the iterator to
have a lifetime parameter.
Visibility fixes
Register new snapshots
rustpkg: Implement `rustpkg test`

Towards #7401
Remove the notion of an "unknown format"

As mentioned in #9456, the format! syntax extension would previously consider an
empty format as a 'Unknown' format which could then also get coerced into a
different style of format on another argument.

This is unusual behavior because `{}` is a very common format and if you have
`{0} {0:?}` you wouldn't expect them both to be coereced to the `Poly`
formatter. This commit removes this coercion, but still retains the requirement
that each argument has exactly one format specified for it (an empty format now
counts as well).

Perhaps at a later date we can add support for multiple formats of one argument,
but this puts us in at least a backwards-compatible situation if we decide to do
that.
auto merge of #9535 : alexcrichton/rust/no-format-default, r=thestinger

As mentioned in #9456, the format! syntax extension would previously consider an
empty format as a 'Unknown' format which could then also get coerced into a
different style of format on another argument.

This is unusual behavior because `{}` is a very common format and if you have
`{0} {0:?}` you wouldn't expect them both to be coereced to the `Poly`
formatter. This commit removes this coercion, but still retains the requirement
that each argument has exactly one format specified for it (an empty format now
counts as well).

Perhaps at a later date we can add support for multiple formats of one argument,
but this puts us in at least a backwards-compatible situation if we decide to do
that.
rustdoc: Don't emit redirect pages for variants/fields

It's just a waste of disk space and it can be done just as well in JS.
rustdoc: Fix searching for default methods

Closes #9566
rustdoc: Fix search for something on the same page
mk: Fully clean out old documentation

This purges doc/{std,extra} entirely during a `make clean` instead of just the
html files in some top level directories. This should help old documentation
from showing up on static.rust-lang.org
auto merge of #9544 : alexcrichton/rust/clean-docs, r=pnkfelix

This purges doc/{std,extra} entirely during a `make clean` instead of just the
html files in some top level directories. This should help old documentation
from showing up on static.rust-lang.org
auto merge of #9549 : catamorphism/rust/rustpkg-test-command, r=catamorphism,metajack

r? @metajack Towards #7401
Suppress warning by removing unused import
auto merge of #9552 : brson/rust/0.9-pre, r=alexcrichton