Rollup of 4 pull requests - #162707
Conversation
Signed-off-by: Yosh <github@yosh.is>
…eUnstable" This reverts commit 55c133a.
A command like `rustc -optimize a.rs` currently gives this: ``` warning: option `-o` has no space between flag name and value, which can be confusing note: output filename `-o ptimize` is applied instead of a flag named `optimize` help: insert a space between `-o` and `ptimize` if this is intentional: `-o ptimize` ``` A top-level warning, then a top-level note, then a top-level help. Weird! This commit converts the note and the help into children of the warning, which looks better and matches how things are normally done, giving this: ``` warning: option `-o` has no space between flag name and value, which can be confusing | = note: output filename `-o ptimize` is applied instead of a flag named `optimize` = help: insert a space between `-o` and `ptimize` if this is intentional: `-o ptimize` ``` Much better.
Currently the command `rustc -Zunstable-options -j3 --jobs-backend=1 a.rs`, when run on stable rustc, gives this: ``` error: the option `Z` is only accepted on the nightly compiler error: the option `jobs` is only accepted on the nightly compiler error: the option `jobs-backend` is only accepted on the nightly compiler help: consider switching to a nightly toolchain: `rustup default nightly` note: selecting a toolchain with `+toolchain` arguments require a rustup proxy; see <https://rust-lang.github.io/rustup/concepts/index.html> note: for more information about Rust's stability policy, see <https://doc.rust-lang.org/book/appendix-07-nightly-rust.html#unstable-features> error: 3 nightly options were parsed ``` The errors are fine, but top-level help and notes are weird. This commit changes it to this, which is more normal: ``` error: the option `Z` is only accepted on the nightly compiler error: the option `jobs` is only accepted on the nightly compiler error: the option `jobs-backend` is only accepted on the nightly compiler error: 3 nightly options were parsed | = help: consider switching to a nightly toolchain: `rustup default nightly` = note: selecting a toolchain with `+toolchain` arguments require a rustup proxy; see <https://rust-lang.github.io/rustup/concepts/index.html> = note: for more information about Rust's stability policy, see <https://doc.rust-lang.org/book/appendix-07-nightly-rust.html#unstable-features> ``` It's a slightly different order but that seems fine. The commit also makes two other small improvements: - An unnecessary `match opt.stability` is removed. (There's another `opt.stability` check a few lines above.) - It fixes "1 nightly option were parsed" to "1 nightly option was parsed".
They're now unused.
…iangfei2009 Improve into_slice_range inlining and add #[track_caller] This is a solution to rust-lang#157909. I think the root problem is that LLVM sees the many non-inlinable calls to `slice_index_fail` and decides that the function must be a bad inlining candidate. So I've shunted all the logic for reporting the right error into a single cold function and improved `try_into_slice_range` so that we only have to write all these checks once.
…=nia-e Stabilize `core::mem::DropGuard` Closes rust-lang#144426. This PR stabilizes `core::mem::DropGuard`, as per the comment in rust-lang#144426 (comment): > [nia-e]: We discussed this in today's libs meeting - DropGuard is a good name, and we agreed dismiss is Good Enough & better than the other options. Feel free to send a stabilisation PR & ask us to open FCP there! Thanks! r? @nia-e
…help, r=estebank
Remove `EarlyDiagCtxt::early_{note,help}`
We have some top-level `help` and `note` diagnostics emittable at startup. These are weird. This PR eliminates them. Details in individual commits.
r? @estebank
riscv: stabilize 'd' and 'f' target features rust-lang#156188 has been reverted in rust-lang#161064 due to concerns about "e" being a negative target feature. "d" and "f" however are almost normal target features, so let's re-land them. The one thing that's odd about them is that we cannot allow you to use `-Ctarget-feature` or `#[target_feature]` for them on *some* riscv ABIs. (For now, it remains unstable on all riscv ABIs.) So this means we need the concept of target-features that are fixed by the target spec and cannot be changed by the user. OTOH we kind of already have that, even for fully stable target features: - On x86-64, we don't let people disable "sse2". On aarch64, we don't let people disable "neon". - [Soon](rust-lang#160302), on x86-64 softfloat, we don't let people enable "sse2". "neon" and "sse2" are even stable target features. So I see no reason not to fully stabilize "d" and "f", with the following constraints: - on riscv targets that use a "d" ABI (ilp32d, lp64d), you can't disable either of them - on riscv targets that use an "f" ABI (ilp32f, lp64f), you can't disable "f" - on riscv ilp32e targets, you can't *enable* "d" Cc @romancardenas
|
@bors r+ p=5 |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 6474e99 (parent) -> 0630f86 (this PR) Test differencesShow 16 test diffsStage 1
Stage 2
Additionally, 10 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 0630f86825f5064dfa85a119c959bd2c7f48f4de --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (0630f86): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 0.5%, secondary -3.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 496.981s -> 492.224s (-0.96%) |
Successful merges:
core::mem::DropGuard#161520 (Stabilizecore::mem::DropGuard)EarlyDiagCtxt::early_{note,help}#162671 (RemoveEarlyDiagCtxt::early_{note,help})r? @ghost
Create a similar rollup