(I opted to rely on compare-mode=nll rather than opt into
`#![feature(nll)]`, mostly to make it easy to observe the interesting
differences between the AST-borrwock diagnostic and the NLL one.)
The `wasm32-unknown-emscripten` expects the `rust_eh_personality` symbol to be there, but a cfg checking for `target_arch = "wasm32"` which was meant to remove the symbol from the `wasm32-unknown-unknown` target, didn't check for whether `emscripten` is targeted or not, so the symbol accidentally got filtered out there as well.
Fixes#55276
Rollup of 14 pull requests
Successful merges:
- #55377 (Slight copy-editing for `std::cell::Cell` docs)
- #55441 (Remove unused re import in gdb_rust_pretty_printing)
- #55453 (Choose predicates without inference variables over those with them)
- #55495 (Don't print opt fuel messages to stdout because it breaks Rustbuild)
- #55501 (Make `process_obligations`' computation of `completed` optional.)
- #55510 (Fix feature gate only being checked on first repr attr.)
- #55609 (Run name-anon-globals after LTO passes as well)
- #55645 (do not print wrapping ranges like normal ranges in validity diagnostics)
- #55688 (Standardised names and location of ui issue tests)
- #55692 (-C remark: fix incorrect warning about requiring "--debuginfo" instead of "-C debuginfo=n")
- #55702 (Add `aarch64-pc-windows-msvc` to deployed targets)
- #55728 (Update lldb)
- #55730 (Use trait impl method span when type param mismatch is due to impl Trait)
- #55734 (refactor: use shorthand fields)
This is a (much) more constrained version of #54772 that also aims at
improving the situation in #34681. It removes any font specifications
that are not the "official" rustdoc font, and instead relies on the
browser to provide the fallback font if the official on is not
available. On Linux systems, this is particularly important, as fonts
like Helvetica, Arial, and Times often look pretty bad since they're
pulled from extracted MS fonts. A specification like `serif` or
`sans-serif` lets the browser instead choose a good font.
This commit filters out locals that have never been initialized for
consideration in the `unused_mut` lint.
This is intended to detect when the statement that would have
initialized the local was removed as unreachable code. In these cases,
we would not want to lint. This is the same behaviour as the AST borrow
checker.
This is achieved by taking advantage of an existing pass over the MIR
for the `unused_mut` lint and creating a set of those locals that were
never initialized.
I also added `// skip-codegen` to each one, to address potential concerns
that this change would otherwise slow down our test suite spending time
generating code for files that are really just meant to be checks of
compiler diagnostics.
(However, I will say: My preference is to not use `// skip-codegen` if
one can avoid it. We can use all the testing of how we drive LLVM that
we can get...)
(Updated post rebase.)
This test specifically notes that it does not want to invoke the
linker, due to the way it (IMO weakly) exercises the `#[link=...]`
attribute.
In any case, removing the the `#[rustc_error]` here uncovered an
"invalid windows subsystem" error that was previously not included in
the transcript of diagnostic output. So that's a step forward, (right?).