auto merge of #16177 : nham/rust/collections_15294_eq_ord, r=alexcrichton

This implements:

 - Eq and Ord for DList, RingBuf, TreeMap and TreeSet
 - FromIterator and Extendable for BitvSet

cc #15294
Remove unused tuple struct
auto merge of #16181 : brson/rust/colon, r=kballard
Add hide/show detail toggles to rustdoc

All doccomments are now collapsable via a nearby [-] button
Adds [collapse all] and [expand all] buttons to the top of all api pages
Tweaks some layout to accomadate this
Sort .gitignore.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
Use globs to ignore target directories.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
auto merge of #16183 : brson/rust/doctitles, r=alexcrichton
time::Tm should impl Eq in addition to PartialEq
native: Fix utime() for windows

Apparently the units are in milliseconds, not in seconds!
fix underflow in vec swap_remove
fixes #16200
auto merge of #16169 : Gankro/rust/simple-docs, r=cmr

<strike>Adds a simple/detailed toggle to api doc pages.
Detailed mode is the current behaviour, simple mode hides all doccomment details leaving only signatures for quick browsing.
</strike>
Adds [expand all] and [collapse all] "links" to all api doc pages. All doccomments are collapsed, leaving only signatures for quick browsing.

In addition, clicking on a <strike>function name</strike> function's [toggle details] link now toggles the visibility of the associated doccomment.

--------

# [Live Build Here](http://cg.scs.carleton.ca/~abeinges/doc/std/vec/struct.Vec.html)

This is something that's been bothering me, and I've seen some people mention in IRC before. The docs are *great* if you want a full in-depth look at an API, but *awful* if you want to scan them. This provides the ability to toggle complexity freely. Interacts perfectly well with noscript, since the static page is effectively unchanged. Collapsing is just hiding divs with css.

I'm not much of a designer, so design input welcome on the actual UX for toggling.

The actual javascript is *a bit* brittle to layout changes, but it always will be without adding lots of extra junk to the actual markup, which didn't seem worth it.
auto merge of #16180 : jbcrail/rust/fix-comments, r=steveklabnik
auto merge of #16186 : steveklabnik/rust/guide_cargo_new, r=alexcrichton

Two commits here: one to add `cargo new` to the guide, and a second to mention the lockfile that Cargo now generates.
auto merge of #16189 : steveklabnik/rust/gh15494, r=alexcrichton

Fixes #15494.
rustdoc: Add generator meta tag to API docs

This is consistent with the meta tag in Markdown docs run through
rustdoc.
core: add a reverse method to Ordering.

This flips the comparison and is designed to be used when sorting etc.
rustdoc: Add rustdoc class to <body> tag

This allows for easier application of user stylesheets to rustdocs no
matter where they are hosted.
auto merge of #16191 : DaGenix/rust/fix-aligned-access, r=alexcrichton

When I originally wrote the read_u32v_be() and write_u32_be() functions, I didn't consider memory alignment requirements of various architectures. Unfortunately, the current implementations may result in unaligned reads and writes. This doesn't impact x86 / x86_64, but it can cause a compiler crash on ARM. This pull requests rewrites those functions to make sure that all memory access is always correctly aligned.

This fix is a little bit academic - due to the way that LLVM aligns the structures that are passed as arguments to these functions, I believe that the end result is that all memory access happens to be aligned anyway. However, there is nothing in that code that actually enforces that, at least not explicitly. The new implementations are definitely slower than the existing ones. However, I don't believe that these functions are all that significant when looking at the overall performance of the compiler. I think getting rid of some unsafe code and removing a potential portability landmine justifies a very slight decrease in raw performance.
auto merge of #16194 : omasanori/rust/gitignore, r=alexcrichton

I also sorted lines in .gitignore. The file might include some obsoleted lines but I left.
auto merge of #16155 : huonw/rust/Ordering-reverse, r=alexcrichton

This flips the comparison and is designed to be used when sorting etc.