Turn off attribute_usage warning on check-fast
test: Remove most uses of `&fn()` from the tests.
librustc: Remove remaining uses of `&fn()` in favor of `||`.
libsyntax: Remove the old-style borrowed closure type syntax from the
language.
libstd: Remove all non-`proc` uses of `do` from libstd
librustuv: Remove all non-`proc` uses of `do` from `libextra` and
`librustuv`.
libsyntax: Remove all non-`proc` `do` syntax.
librustc: Remove non-procedure uses of `do` from librustc, librustdoc,
and librustpkg.
test: Remove non-procedure uses of `do` from compiletest, libstd tests,
compile-fail tests, run-fail tests, and run-pass tests.
test: Remove all remaining non-procedure uses of `do`.
librustc: Make `||` lambdas not infer to `proc`s
libstd: Fix Win32 and other bustage.
Remove the unused obsolete enum_discrim type.
auto merge of #10673 : klutzy/rust/quite, r=alexcrichton
librustc: Fix merge fallout.
add `#[thread_local]` attribute

This provides a building block for fast thread-local storage. It does
not change the safety semantics of `static mut`.

Closes #10310
port the runtime to `#[thread_local]`
add a thread_local feature gate
auto merge of #10581 : pcwalton/rust/dedo, r=pcwalton

r? @alexcrichton
auto merge of #10312 : thestinger/rust/thread_local, r=alexcritchton

This provides a building block for fast thread-local storage. It does
not change the safety semantics of `static mut`.

Closes #10310