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
Make MIN_ALIGN a const to allow better optimization

With MIN_ALIGN as a static, other crates don't have access to its value
at compile time, because it is an extern global. That means that the
checks against it can't be optimized out, which is rather unfortunate.
So let's make it a constant instead.
rm unnecessary libc allocator usage
get rid of libc_heap::{malloc_raw, realloc_raw}

The C standard library functions should be used directly. The quirky
NULL / zero-size allocation workaround is no longer necessary and was
adding an extra branch to the allocator code path in a build without
jemalloc. This is a small step towards liballoc being compatible with
handling OOM errors instead of aborting (#18292).

[breaking-change]
return the new usable size from reallocate_inplace

The real size is also more useful than just a boolean, and the caller
can easily determine if the operation failed from the real size. In most
cases, the caller is only going to be growing the allocation so a branch
can be avoided.

[breaking-change]
fix sized deallocation documentation
auto merge of #18293 : thestinger/rust/heap, r=cmr
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.