Improve shootout-reverse-complement
ignore-android
Add as_unsafe_cell() for Cell and RefCell

Fixes #18131.
Make UdpStream block until the next non-empty msg.
Deprecate UdpStream
auto merge of #18212 : kmcallister/rust/unsafecell, r=thestinger

Fixes #18131.
auto merge of #18143 : mahkoh/rust/reverse_complement, r=alexcrichton

Lots of unsafe code and lots of branches removed. Also multithreaded.

Rust old: 1.208 seconds
Rust new: 0.761 seconds
C: 0.632 seconds
debuginfo: Set RUST_TEST_TASKS to 1 again for LLDB tests
auto merge of #18130 : mahkoh/rust/udp, r=alexcrichton

Closes #18111

Note that the non-empty part doesn't matter right now because of #18129.
auto merge of #18348 : michaelwoerister/rust/lldb-test-versioning, r=alexcrichton

Let's try if not running LLDB tests in parallel solves the sporadic deadlocks we've seen since enabling the LLDB test suite. Running the tests in parallel has lead to unstable behaviour in the past (with LLDB versions below 310.x.x). Maybe our new minimum LLDB version isn't quite up to it either.

cc @alexcrichton
config.mk: Added variants of `valopt`/`opt` that do not automatically `putvar`.

Used aforementioned variants to extract options that have explicit
`putvar` calls associated with them in the subsequent code.  When the
explicit `putvar` call was conditional on some potentially complex
condition, moved the `putvar` call out to the main control flow of the
script so that it always runs if necessary.

----

As a driveby fix, captured the error exit when doing the test run of
`rustc --version` from `CFG_LOCAL_RUST_ROOT`, and signal explicit
configure failure when it did not run successfully.  (If we cannot run
`rustc`, we really shouldn't try to keep going.)

----

Finally, in response to review feedback, went through and identified
cases where we had been calling `putvar` manually (and thus my naive
translation used `opt_nosave`/`valopt_nosave`), and then verified
whether a manual `putvar` was necessary (i.e., was each variable in
question manually computed somewhere in the `configure` script).
In cases that did not meet this criteria, I revised the code to use
the `opt`/`valopt` directly and removed the corresponding `putvar`,
cleaning things up a teeny bit.

----

Fix #17887.
auto merge of #17890 : pnkfelix/rust/fsk-fix-issue-17887, r=alexcrichton

Fixes `config.mk` so that it should not contain multiple inconsistent entries for the same option.

Used aforementioned variants to extract options that have explicit `putvar` calls associated with them in the subsequent code.  When the explicit `putvar` call was conditional on some potentially complex condition, moved the `putvar` call out to the main control flow of the script so that it always runs if necessary.

----

As a driveby fix, captured the error exit when doing the test run of `rustc --version` from `CFG_LOCAL_RUST_ROOT`, and signal explicit configure failure when it did not run successfully.  (If we cannot run `rustc`, we really shouldn't try to keep going.)

----

Fix #17887.