Box::into_unique: do the reborrow-to-raw *after* destroying the Box
Currently we first "reborrow" the box to a raw pointer, and then `forget` it. When tracking raw pointers more strictly (something I am experimenting with locally in Miri), the "use" induced by passing the box to `forget` invalidates the previously created raw pointer.
So adjust my hack from https://github.com/rust-lang/rust/pull/58429 to reorder the two operations.
fix dangling reference in Vec::append
Turns out I forgot to enable Miri again for the Vec tests. And there was a dangling reference hiding in there! `get_unchecked_mut` is UB to call on an empty vector (there is no memory to get a reference to), and yet this code did it.
tweak discriminant on non-nullary enum diagnostic
Adds notes pointing at the non-nullary variants, and uses "custom
discriminant" language to be consistent with the Reference.
Fixes#61039.
r? @estebank
Use arenas to avoid Lrc in queries #2
The `Remove subtle Default impl for Value` makes the compilation stop due earlier due to cycle errors, since there's no longer a default value to continue the compilation with.
Based on https://github.com/rust-lang/rust/pull/59540.
syntax: Continue refactoring literals
A follow up to https://github.com/rust-lang/rust/pull/60679.
a2fd002bd5: Similarly to `EscapeError`, literal parsing now produces a `LitError`.
This way we can get rid of `diag: Option<(Span, &Handler)>` in interfaces while leaving attr/mod alone.
d9516d1120: Gathers all components of a literal token in a single struct.
librustc_errors: Remove unused annotation style `OldSchoolNoteText`
I could not find any references to it and the `snippet` module does not
seem to be exported publicly, so I think it can be safely removed.
This was originally removed in 17bd76a51 and I'm not sure why it is still there.
Revert "Add implementations of last in terms of next_back on a bunch of DoubleEndedIterators."
This changed observable behavior for several iterator types.
r? @alexcrichton
Solaris CI: Build with dilos2 stable
dilos2-testing has problems since the last repository update, so get the packages from dilos2 stable.
Fixes#61022.
Disable LLVM/debug assertions in gnu-full-bootstrap
This builder already is very close to the 2 hour mark and the debug
assertions aren't really buying us anything over what all the other
containers are enabling, so let's disable them for this slow builder.
Make -Zemit-artifact-notifications also emit the artifact type
This is easier for tooling to handle than trying to reverse-engineer the type from the filename extension. The field name and value is intended to reflect the `--emit` command-line option.
Related issues https://github.com/rust-lang/rust/issues/60988https://github.com/rust-lang/rust/issues/58465
cc @alexcrichton