Use is_zero
auto merge of #13891 : hjr3/rust/serialize-vec, r=pcwalton

Now that ~[T] is obsolete, we need to allow to_json() to work for
vectors.
rustdoc: Fix inclusion of the new fonts

These fonts were moved into place by rust's makefiles, but rustdoc is widely
used outside of rustc itself. This moves the fonts into the rustdoc binary,
similarly to the other static assets, and writes them to the output location
whenever rustdoc generates documentation.

Closes #13593
Closes #13787
rustdoc: Don't have rustc emit warnings

They're much more useful when building code, much less so when building
documentation.

Closes #13894
rustdoc: Stop requiring a crate ID attribute

This is mostly just an artificial requirement as it can use similar logic to the
compiler to infer the crate id.
rustdoc: Put bangs on the names of macros

This makes them a little easier to search for and makes it clearer that they're
a macro and not an item to import.

Closes #13852
syntax: Fix duplicate attributes on module files

The outer attributes were manually appended when a module file was parsed, but
the attributes were also added higher up the stack of parsing (when the module
finished parsing). This removes the append in parsing the module file.

Closes #13826
rustdoc: Make static initalizers prettier

Previously, if an initializer took multiple lines or was just large in general,
it was pretty poorly rendered [1] [2]. This alters the logic to just link back
to the source for any multi-line static, with a placeholder of "[definition]".
This should make reading statics a little easier on the eyes. All single-line
statics are still inlined in the documentation.

Closes #13198

[1] - http://static.rust-lang.org/doc/master/sync/mutex/index.html#statics
[2] - http://static.rust-lang.org/doc/master/std/sync/atomics/index.html#statics
rustdoc: Allow forcing inlining of `pub use`

Rustdoc currently doesn't inline documentation of a `pub use` if the target is
publicly reachable. This changes rustdoc to allow a #[doc(inline)] attribute to
force inlining the documentation, regardless of whether the targe is public or
not.

Closes #13045
rustdoc: Have no_run imply no_trans

This allows writing code examples which pass all analysis of the compiler, but
don't actually link. A good example is examples that use extern {} blocks.

Closes #12903
Refactor `rslt` to `Result::new`
auto merge of #13899 : bjz/rust/simd, r=pcwalton

cc. @pcwalton
shootout-mandelbrot rewrite

- removed warning
- improved performances
- parallelization
auto merge of #13903 : alexcrichton/rust/issue-13890, r=thestinger

The logic of the custom realpath function in metadata::loader was incorrect, but
the logic in util::fs was correct.

Closes #13890
auto merge of #13868 : FlaPer87/rust/opt-in-phase1, r=alexcrichton

This is a first patch towards an opt-in built-in trait world. This patch removes the restriction on built-in traits and allows such traits to be derived.

[RFC#3]

cc #13231

@nikomatsakis r?
auto merge of #13904 : pcwalton/rust/box, r=alexcrichton

r? @alexcrichton

RFC#14 

Issue #13885.
Temporary patch to accept arbitrary lifetimes (behind feature gate) in bound lists. This is needed to bootstrap fix for #5723.
auto merge of #13773 : brson/rust/boxxy, r=alexcrichton

`box` is the way you allocate in future-rust.
auto merge of #13685 : Ryman/rust/issue7575, r=alexcrichton

Closes #7575.

I don't think the change from a contains lookup to an iteration of the HashSet in the resolver should be much of a burden as the set of methods with the same name should be relatively small.
Use defvar for rust-top-item-beg-re instead

Since rust-top-item-beg-re hasn't been defined yet, using defvar instead of
setq is more appropriate here (and also silences compilation warnings).