Add more comprehensive unit tests for SIMD binops
BigUint always use u64 as the internal machine unsigned integer

This change allow a speedup of ~1.5 on shootout-pidigits on a i32
system.  `DoubleBigDigit` is used to abstract the internal
unsigned integer used in computation to simplity future
architecture specialization.

`BigDigit::from_uint` and `BigDigit::to_uint` become
`BigDigit::from_doublebigdigit` and `BigDigit::to_doublebigdigit`.

[breaking-change]
Implement ToJson for Vec<T>

Now that ~[T] is obsolete, we need to allow to_json() to work for
vectors.
Implement comparison operators for int and uint SIMD vectors
rustc: Use the "real" realpath function

The logic of the custom realpath function in metadata::loader was incorrect, but
the logic in util::fs was correct.

Closes #13890
Add lint check for negating uint literals and variables.

See #11273 and #13318
auto merge of #13579 : hirschenberger/rust/lint_unsigned_negate, r=alexcrichton

See #11273 and #13318
auto merge of #13880 : TeXitoi/rust/biguint-always-use-u64, r=pcwalton

This change allow a speedup of ~1.5 on shootout-pidigits on a i32
system.  `MachineUint` is used to abstract the internal machine
unsigned integer to simplity future architecture specialization.
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.
auto merge of #13899 : bjz/rust/simd, r=pcwalton

cc. @pcwalton
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