emacs: do not highlight `#foo]` as an attribute

part of #14347
emacs: highlight `#[foo = "bar"]` attributes

Setting `OVERRIDE` to `t` overrides the conflicting highlight Emacs
places on string literals.

Fix #14347
Updated deps
Platform configuration

FIXME: avoid using Xcode build and switch to a patched libuv
Runtime support for arm on iOS
Disable generating split-stack code

Allows to compile for archs which do not have (or have limited)
segmented stack support like embedded.
Basic iOS support
Better dylib skipping based on Alex Crichton code
Relicense shootout-pidigits.rs

Everyone agreed.

Related to #14248, close #14718
Relicense shootout-binarytrees.rs

Everyone agreed.

Related to #14248, close #14720
Cosmetic fixes & comments
added get_mut() for [T]
There should be no metadata to read on iOS
Add Bitwise::{swap_bytes, rotate_left, rotate_right} methods
librustc: Forbid enum-to-float casts.

Closes #14794.

If you're casting from an enum to a float, cast through an integer
first.

[breaking-change]
auto merge of #14604 : nikomatsakis/rust/issue-5527-namespace-substs, r=pcwalton

The current setup is to have a single vector of type parameters in
scope at any one time. We then have to concatenate the parameters from
the impl/trait with those of the method. This makes a lot of things
awkward, most notably associated fns ("static fns"). This branch
restructures the substitutions into three distinct namespaces (type,
self, fn). This makes most of the "type parameter management"
trivial. This also sets us up to support UFCS (though I haven't made
any particular changes in that direction in this patch).

Along the way, this patch fixes a few miscellaneous bits of code cleanup:

1. Patch resolve to detect references to out-of-scope type parameters,
   rather than checking for "out of bound" indices during substitution
   (fixes #14603).

2. Move def out of libsyntax into librustc where it belongs. I should have
   moved DefId too, but didn't.
   
3. Permit homogeneous tuples like `(T, T, T)` to be used as fixed-length
   vectors like `[T, ..3]`. This is awfully handy, though public facing.
   I suppose it requires an RFC.

4. Add some missing tests.

cc #5527

r? @pcwalton or @pnkfelix
librustc: Fix the issue with labels shadowing variable names by making
the leading quote part of the identifier for the purposes of hygiene.

This adopts @jbclements' solution to #14539.

I'm not sure if this is a breaking change or not.

Closes #12512.

[breaking-change]
Improve error messages for io::fs
std: Rebase better errors on master
libsyntax: Allow `+` to separate trait bounds from objects.

RFC #27.

After a snapshot, the old syntax will be removed.

This can break some code that looked like `foo as &Trait:Send`. Now you
will need to write `foo as (&Trait+Send)`.

Closes #12778.

[breaking-change]