Fix indention
auto merge of #11483 : kballard/rust/gitignore-doc-rustuv, r=alexcrichton
doc: build the docs for librustpkg
Restore missing line breaks in doc/index.html

a30d61b05a removed all of the trailing whitespace in doc/index.md.
Unfortunately, that trailing whitespace was actually markdown syntax for
line breaks.
Add librustuv to doc/index.md
Add inline attributes documentation.

Closes #7959.
auto merge of #11488 : kballard/rust/librustpkg-docs, r=brson
auto merge of #11491 : wting/rust/wting_7959_document_inline_attributes, r=alexcrichton

Closes #7959.
more backticks
auto merge of #11495 : kud1ing/rust/backticks, r=huonw
Update guide-ffi.md

Simplified the first examples to demonstrate callbacks without other threads involved and shortened the elaboration about async callbacks.
extra::ebml: Make reader::Res public

Since reader::vuint_at() returns a result of type reader::Res it makes sense
to make it public.

Due to rust's current behavior of externally referenced private structures,
https://github.com/mozilla/rust/issues/10573, you could still use the result and
assign it to a variable if you let the compiler do the type assignment,
but you could not explicitly annotate a variable to hold a reader::Res.
extra::ebml: Add unit test for vuint_at()
Don't overwrite the options.output value from build_session_options
Mark allowed dead code and lang items as live

Dead code pass now explicitly checks for `#[allow(dead_code)]` and
`#[lang=".."]` attributes on items and marks them as live if they have
those attributes. The former is done so that if we want to suppress
warnings for a group of dead functions, we only have to annotate the
"root" of the call chain.
auto merge of #11471 : ktt3ja/rust/issue-11380, r=alexcrichton

Dead code pass now explicitly checks for `#[allow(dead_code)]` and
`#[lang=".."]` attributes on items and marks them as live if they have
those attributes. The former is done so that if we want to suppress
warnings for a group of dead functions, we only have to annotate the
"root" of the call chain.

Close #11380 and #11440.
ebml::extra: Optimize reader::vuint_at()

Use a lookup table, SHIFT_MASK_TABLE, that for every possible four
bit prefix holds the number of times the value should be right shifted and what
the right shifted value should be masked with. This way we can get rid of the
branches which in my testing gives approximately a 2x speedup.
auto merge of #11502 : jhasse/rust/crate_type, r=alexcrichton

This is unnecessary and also leads to a bug: When the user specifies

```
#[crate_type = "rlib"];
```

rustpkg still creates a dylib.

Also it's good not to duplicate functionality. `build_session_options` handles this just fine.
Remove RealExt

These functions are of little utility outside a small subset of use cases. If people need them for their own projects then they can use their own bindings for libm (which aren't hard to make).
Clean up std::num::cmath and remove stale comments