Clarify unit of size in docs for size_of functions.
Changed the docs in mem.rs to clarify the fact the the size functions return sizes in bytes.
Regression test closes #7660
auto merge of #12359 : alexcrichton/rust/update-compiler-rt, r=luqmana

Closes #12356
Fix staticlib outputs linking to blank archives

When creating a staticlib, it unzips all static archives it finds and then
inserts the files manually into the output file. This process is done through
`ar`, and `ar` doesn't like if you specify you want to add files and you don't
give it any files.

This case arose whenever you linked to an archive that didn't have any contents
or all of the contents were filtered out. This just involved ignoring the case
where the number of inputs we have is 0, because we don't have any files to add
anyway.
Fix bug with zero-length filemaps and rename bytepos_to_local_charpos to bytepos_to_charpos.
Make priavcy checking aware that a `use` directive can point to two defintions (namespaces) with different privacy. Closes #4110
auto merge of #12245 : nick29581/rust/priv2, r=alexcrichton

closes #4110
str: add a function for truncating a vector of u16 at NUL.

Many of the functions interacting with Windows APIs allocate a vector of
0's and do not retrieve a length directly from the API call, and so need
to be sure to remove the unmodified junk at the end of the vector.
auto merge of #12317 : huonw/rust/utf16, r=alexcrichton

Iterators! Use them (in `is_utf16`), create them (in `utf16_items`).

Handle errors gracefully (`from_utf16_lossy`) and `from_utf16` returning `Option<~str>` instead of failing.

Add a pile of tests.
rustdoc: Only inject extern crates if not present
auto merge of #12361 : sfackler/rust/rustdoc-test-extern, r=alexcrichton
Fix typo in test metric ratchet stdout output
auto merge of #12364 : Armavica/rust/mk-tips, r=alexcrichton

The command `make tips` did not work properly because of a flaw in the regexp parsing Makefile.in for documentation (`SHOW_DOCS`). I fixed it and also added a note about `make clean` in the build documentation (`make help`).
rustdoc: Fixup links to enum variants

Pages aren't emitted for enum variants, so whenever we're linking to an enum
variant instead link to the parent enum instead.

Closes #12289
rustdoc: Show macros in documentation

Any macro tagged with #[macro_export] will be showed in the documentation for
that module. This also documents all the existing macros inside of std::macros.

Closes #3163
cc #5605
Closes #9954
rustdoc: Highlight methods jumped to

This helps figure out where you actually jumped to, especially if the thing you
jumped to is at the very bottom of the page.

Closes #9905
rustdoc: Fix json output and input

Turns out a hash map with integer keys isn't serializable to json.

Closes #10115
rustdoc: Clickable links on methods themselves

Useful for getting the link to a method or function.

Closes #10332
rustdoc: Handle links to reexported items

When building up our path cache, we don't plaster over a path which was
previously inserted if we're inserting a non-public-item thing.

Closes #11678
auto merge of #12339 : alexcrichton/rust/rustdoc-fixes, r=sfackler

Commits have the details