Add detection of dead struct fields
Remove the dead code identified by the new lint
Fix an LLVM assertion when matching against static strings

Fixes #8315
Fixes #11940
Remove a redundant bitcast from fail!() handling
Mark relevant structs with repr(C)
Moved integer trait and functions to submodule
Cleanup bigint
librustc: Implement overloading for the call operator behind a feature
gate.

This is part of unboxed closures.
std: Read HOME instead of USER

Apparently one of the linux bots doesn't have the USER variable defined, and
this fix will likely land more quickly than a fix to the bots.
mk: Ensure docs have relative links to each other

When generating documentation, rustdoc has the ability to generate relative
links within the current distribution of crates to one another. To do this, it
must recognize when a crate's documentation is in the same output directory. The
current threshold for "local documentation for crate X being available" is
whether the directory "doc/X" exists.

This change modifies the build system to have new dependencies for each
directory of upstream crates for a rustdoc invocation. This will ensure that
when building documentation that all the crates in the standard distribution are
guaranteed to have relative links to one another.

This change is prompted by guaranteeing that offline docs always work with one
another. Before this change, races could mean that some docs were built before
others, and hence may have http links when relative links would suffice.

Closes #14747
Add missing repr(C) annotations to mutex.rs
auto merge of #14775 : alexcrichton/rust/fix-master, r=brson

Apparently one of the linux bots doesn't have the USER variable defined, and
this fix will likely land more quickly than a fix to the bots.
Implement #[plugin_registrar]

See RFC 22.

[breaking-change]
Use phase(plugin) in bootstrap crates

Do this to avoid warnings on post-stage0 builds.
Use phase(plugin) in other crates
Use phase(plugin) in tests
Convert libraries to use #[plugin_registrar]
Convert tests to use #[plugin_registrar]
Add a test for deprecated phase(syntax)
Document rustc::plugin