add assert_eq! macro

the assert_eq! macro compares its arguments and fails if they're not
equal. It's more informative than fail_unless!, because it explicitly
writes the given and expected arguments on failure.
change some uses of fail_unless to assert_eq
Tutorial: make struct section more coherent

In struct section of tutorial, make everything more coherent and
clear by always using "struct Point". Also, do not prematurely
introduce pointers and arrays. Fixes #5240

Signed-off-by: Luca Bruno <lucab@debian.org>
trie: make impl pub
replace the core-map benchmark

* Closes #4603
Switched over substr and trim functions in str to be non-allocating, temporary renamed them to better track use-sites
Un-renamed trim and substr functions.
auto merge of #5407 : jbclements/rust/add-assert-eq-macro, r=jbclements

Adds an assert_eq! macro that asserts that its two arguments are equal. Error messages can therefore be somewhat more informative than a simple assert, because the error message includes "expected" and "given" values.
deque: add a module docstring
auto merge of #5476 : thestinger/rust/bench, r=graydon

The old string benchmarks weren't very useful because the strings weren't long enough, so I just threw those out for now. I left out benchmarks of `oldmap` because it's clear that it's 30-40% slower and it doesn't implement the `Map` trait.

This also cleanly divides up `insert`, `search` and `remove`.
librustc: Forbid destructors from being attached to any structs that might contain non-Owned fields. r=nmatsakis
libsyntax: Remove `@const` from the language
librustc: Replace the `&static` bound with `'static`
stop installing empty .so files

Closes #4468
auto merge of #5441 : lucab/rust/lucab/tutorial/struct, r=z0w0

In struct section of tutorial, make everything more coherent and
clear by always using "struct Point".
Also, do not prematurely introduce pointers and arrays.
Fixes #5240
librustc: Register new snapshots
auto merge of #5479 : Kimundi/rust/str-dealloc, r=z0w0

This makes the `trim` and `substr` functions return a slice instead of an `~str`, and removes the unnecessary `Trimmable` trait (`StrSlice` already contains the same functionality).

Also moves the `ToStr` implementations for the three str types into the str module in anticipation of further untangling.
auto merge of #5480 : pcwalton/rust/at-const, r=pcwalton

r? @catamorphism
core: fix a typo in levdistance
auto merge of #5481 : thestinger/rust/deque, r=z0w0