Changed `extern crate foo as bar;` error message

Closes #17709
readme: Link 'Using' wiki page instead of 'Getting started'.

The Windows-specific instruction under 'Quick Start' linked the wiki article on getting started developing Rust itself, but the quick start is just about obtaining a working Rust installation. The actual wiki page with Windows-specific instructions was difficult to find.
In sieve example, end iteration sooner

The Sieve algorithm only requires checking all elements up to and including the square root of the maximum prime you're looking for. After that, the remaining elements are guaranteed to be prime.
Update README.md

Added 64-bit Windows support to the list of platforms. Support for 64-bit Windows was added in Rust 0.12.0. See  https://mail.mozilla.org/pipermail/rust-dev/2014-October/011267.html for the release notes.
Teach libsyntax about `while let`
Desugar `while let` into `loop { match { ... } }`
Move `while let` behind `while_let` feature gate
Handle `while let` desugaring
Add tests for `while let`
Add `while let` to the reference

Closes #17687
Use explicit case rather than catch-all
Remove `virtual` structs from the language
Remove `virtual` struct tests
Remove `virtual` structs from the reference
fix shootout-mandelbrot to make it pass the shootout test
Remove an unnecessary binary file.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
auto merge of #17952 : jakub-/rust/remove-virtual-structs, r=eddyb

Closes #17861.
Make the diagnostic for static variables in patterns better

Fixes #17933.
optimize position independent code in executables

Position independent code has fewer requirements in executables, so pass
the appropriate flag to LLVM in order to allow more optimization. At the
moment this means faster thread-local storage.
Never expand specialized columns that only contain wild patterns in them

Doing so would incur deeply nested expansion of the tree with no useful
side effects. This is problematic for "wide" data types such as structs
with dozens of fields but where only a few are actually being matched or bound.
Most notably, matching a fixed slice would use a number of stack frames that
grows with the number of elements in the slice.

Fixes #17877.