tutorial.md : correct formula in fn area()

change formula (other solution could be using abs()).
Fix for make -j race from #9531 injected by cleanup in b1a22518f0c687db.
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
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
Suppress warning by removing unused import
auto merge of #9553 : brson/rust/lesscxx, r=thestinger
rustdoc: Include source files with documentation

All items have source links back to their actual code. Source files can be
omitted with the doc(html_no_source) attribute on the crate. Currently there is
no syntax highlighting, but that will come with syntax highlighting with all
other snippets.

Closes #2072
mk: Don't require pandoc to run rustdoc
auto merge of #9556 : alexcrichton/rust/less-at-mut, r=luqmana

Instead use &mut everywhere as much as possible and then reorganize lots of code
to get past the borrow checker.
auto merge of #9557 : blake2-ppc/rust/vec-lifetime-token, r=thestinger

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.
std::vec: Add benchmark for .concat_vec and .connect_vec
std::vec: Sane implementations for connect_vec and concat_vec

Avoid unnecessary copying of subvectors, and calculate the needed space
beforehand. These implementations are simple but better than the
previous.

Also only implement it once, for all `Vector<T>` using:

    impl<'self, T: Clone, V: Vector<T>> VectorVector<T> for &'self [V]

performance improved according to the bench test:

    before
    test vec::bench::concat ... bench: 74818 ns/iter (+/- 408)
    test vec::bench::connect ... bench: 87066 ns/iter (+/- 376)

    after
    test vec::bench::concat ... bench: 17724 ns/iter (+/- 126)
    test vec::bench::connect ... bench: 18353 ns/iter (+/- 691)

Closes #9581
auto merge of #9559 : sfackler/rust/more-visibility, r=alexcrichton
std::vec: Remove functions concat, connect

std::vec::{concat, connect, concat_slices, connect_slices} are replaced
by the already existing trait methods .concat_vec() and .connect_vec().