Utilize cfg(bootstrap) over cfg(stage0)
Also removes stage1, stage2 cfgs being passed to rustc to ensure that
stage1 and stage2 are only differentiated as a group (i.e., only through
not bootstrap).
Fixes#53582
r? @alexcrichton
Emit StorageDead along unwind paths for generators
Completion of the work done in #60840. That PR made a change to implicitly consider a local `StorageDead` after Drop, but that was incorrect for DropAndReplace (see also #61060 which tried to fix this in a different way).
This finally enables the optimization implemented in #60187.
r? @eddyb
cc @Zoxc @cramertj @RalfJung
Implementation of RFC 2289 (associated_type_bounds)
This PR implements the [`asociated_type_bounds` feature](https://github.com/rust-lang/rfcs/blob/master/text/2289-associated-type-bounds.md).
Associated type bounds are implemented in:
- function/method arguments and return types
- structs, enums, unions
- associated items in traits
- type aliases
- type parameter defaults
- trait objects
- let bindings
CC @nikomatsakis @centril
Also removes stage1, stage2 cfgs being passed to rustc to ensure that
stage1 and stage2 are only differentiated as a group (i.e., only through
not bootstrap).
Rollup of 5 pull requests
Successful merges:
- #61503 (Fix cfg(test) build for x86_64-fortanix-unknown-sgx)
- #61534 (Edit docs of ExitStatus)
- #61536 (Don't allow using const fn arguments as "args_required_const")
- #61538 (Don't use GNU noexec stack note)
- #61546 (azure: Fix some minor issues which have broken our configuration )
Failed merges:
r? @ghost
azure: Fix some minor issues which have broken our configuration
* Ensure that when we enable IPv6 for Docker on Linux that the various directories before writing a config file
* Delete a previously installed rustup if any since it seems to interfere with Cargo's test suite.
Add "type_name" support in emulate_intrinsic()
I did some dumb Git things and deleted my original fork repo semi-accidentally (but probably for the best as I'd messed up the history.)
This is the same issue as #61399, which was obviously auto-closed, to be clear.
Looks like Azure has updated images recently to install Rust by default,
but that can interfere with our own compiler (for example Cargo's test
suite we think) so be sure to uninstall it before proceeding.
std: Update dependency on `backtrace`
Discovered in #61416 an accidental regression in libstd's backtrace
behavior is that it previously attempted to consult libbacktrace and
would then fall back to `dladdr` if libbacktrace didn't report anything.
The `backtrace` crate, however, did not do this, so that's now been
fixed!
Changes: https://github.com/rust-lang/backtrace-rs/compare/0.3.25...0.3.29Closes#61416