Correctly generate drop glue for `Box<str>`

This fixes an ICE.  Closes issue #17734
String::truncate doc: also fails if not a char boundary
Add regression test for issue #17734
auto merge of #17762 : bkoropoff/rust/issue-17734, r=alexcrichton

Closes issue #17734

r? @nick29581
Handle emitting debug info for unboxed closures

This fixes an ICE.  Closes issue #17021
Build regression test for issue #17021 with -g

This causes it to hit the previously ICEing debuginfo codepath
Fix handling of struct variants in a couple of places

Fixes #17405.
Fixes #17518.
Fixes #17800.
auto merge of #17794 : SimonSapin/rust/patch-8, r=alexcrichton
work around yet another MinGW-w64 ASLR bug
auto merge of #17809 : thestinger/rust/windows, r=eddyb
update jemalloc

This includes optimizations to the thread cache and support for
shrinking and expanding huge (>4M) allocations in-place.
auto merge of #17414 : jakub-/rust/issue-17405, r=alexcrichton

Fixes #17405.
Fixes #17518.
Fixes #17800.
Rename the file permission statics in std::io to be uppercase

For example, this renames `GroupRWX` to `GROUP_RWX`, and deprecates the old
name. Code using these statics should be updated accordingly.
Remove the #[allow(non_uppercase_statics)] attr from bitflags!
Fixed iOS build (statics name lint)
auto merge of #17781 : P1start/rust/bitflags-lints, r=alexcrichton

Closes #17773.
rustdoc: make calls of markdown::render safer

Previously, external code might call `markdown::render()` without having
called `markdown::reset_headers()`, meaning the TLS key
`used_header_map` was unset.  Now `markdown::render()` ensures that
`used_header_map` is set by calling `reset_headers` if necessary.

Fix #17736
rustdoc: Correctly name lifetimes in bounds

Fix #16518
rustdoc: Support unboxed fn sugar in bounds
auto merge of #17803 : bkoropoff/rust/issue-17021, r=alexcrichton

This closes issue #17021.