Rollup of 12 pull requests#155745
Conversation
…own-linux-gnueabihf Add SanitizerSet::ADDRESS to the supported_sanitizers for the arm-unknown-linux-gnueabihf and armv7-unknown-linux-gnueabihf targets. The AddressSanitizer is already enabled on the armv7-linux-androideabi platform, which shares the same ARM architecture. There is no reason these Linux GNU targets should not also support it, as the underlying LLVM support for ASan on 32-bit ARM is already in place.
Add a regression test for RUST-150898 to make users aware that if this test fails, they may encounter unusual behavior elsewhere. Original repro authored by dianqk.
So we do not need to disambiguate considering parents
…, r=notriddle,lolbinarycat Refactor out common code into a `IndexItem::new` constructor rust-lang#149404
… r=chenyukang Document #[diagnostic::on_move] in the unstable book. Also adds the attribute on `std::fs::File` to stay consistent with the prose in the unstable book entry. cc @estebank @rperier Rendered: <img width="791" height="903" alt="image" src="https://github.com/user-attachments/assets/a27a5211-7717-4f7f-a514-8316dccc78d5" /> <img width="779" height="390" alt="image" src="https://github.com/user-attachments/assets/a983108d-575e-4551-ab14-28611344e9b0" />
…-rename, r=petrochenkov delegation: rename `Self` generic param to `This` in recursive delegations This PR supports renaming of `Self` generic parameter to `This` in recursive delegations scenario, this allows propagation of `This` as we rely on `Self` naming to check whether it is implicit Self of a trait. Comment with a bit deeper explanation is in `uplift_delegation_generic_params`. Part of rust-lang#118212. r? @petrochenkov
Some cleanups around per parent disambiguators r? @petrochenkov follow-up to rust-lang#155547 The two remaining uses are * resolve_bound_vars, where it is a reasonable way to do it instead of having another field in the visitor that needs to get scoped (set & reset) every time we visit an opaque type. May still change that at some point, but it's not really an issue * `create_def` in the resolver: will get removed together with my other refactorings for `node_id_to_def_id` (making that per-owner)
…iser rustc_codegen_ssa: Define ELF flag value for sparc-unknown-linux-gnu Currently, attempting to build this target using Ubuntu/Debian's sparc64-multilib toolchain results in the following link error ([full log](https://github.com/taiki-e/atomic-maybe-uninit/actions/runs/22798868888/job/66137493862#step:15:442)): ``` = note: /usr/lib/gcc-cross/sparc64-linux-gnu/13/../../../../sparc64-linux-gnu/bin/ld: unknown architecture of input file `/home/runner/work/atomic-maybe-uninit/atomic-maybe-uninit/target/sparc-unknown-linux-gnu/debug/deps/rustcYzaDYW/symbols.o' is incompatible with sparc:v8plus output ``` This appears to be caused by the required e_flag being missing and can be fixed by setting `EF_SPARC_32PLUS`. Tested using rustc with this patch applied and qemu-user (taiki-e/atomic-maybe-uninit@57d7e7f, [log](https://github.com/taiki-e/atomic-maybe-uninit/actions/runs/22798793270/job/66137298093)). Related discussion: rust-lang#131222 (comment) r? workingjubilee cc @glaubitz @rustbot label +O-SPARC
…w-suggestion-v2, r=JohnTitor Do not suggest borrowing enclosing calls for nested where-clause obligations In rust-lang#155088, the compiler was blaming the whole call expr instead of the value that actually failed the trait bound, so for foo(&[String::from("a")]) it was suggesting stuff like &foo(...). I changed the suggestion logic so it only emits borrow help if the expr it found actually matches the failed self type, and used the same check for the “similar impl exists” help too. So now the compiler should give the normal error + required bound note. Fix rust-lang#155088
…inarycat rustdoc: Fix Managarm C Library name in cfg pretty printer Like rust-lang#155293, this was introduced in rust-lang#154328. Unlike that PR, I don't think there's any need to backport, because this cfg is not used anywhere in the standard library. (I searched for `"mlibc"`, the only place it's used in rust-lang/rust is the HTML doc test.) #### Other Minor Fixes Remove a FIXME comment in the pretty printer, `os = "none"` is always bare metal: https://github.com/rust-lang/rust/blob/d227e48c560e915fe7c0b8b3e821680a3a0ba739/compiler/rustc_target/src/spec/mod.rs#L3179 Fix a comment typo, ignore another typo in vendored sources.
Enable AddressSanitizer on arm-unknown-linux-gnueabihf and armv7-unknown-linux-gnueabihf Add SanitizerSet::ADDRESS to the supported_sanitizers for the arm-unknown-linux-gnueabihf and armv7-unknown-linux-gnueabihf targets. The AddressSanitizer is already enabled on the armv7-linux-androideabi platform, which shares the same ARM architecture. There is no reason these Linux GNU targets should not also support it, as the underlying LLVM support for ASan on 32-bit ARM is already in place.
…=dianqk test: Add a regression test for Apple platforms aborting on `free` Add a regression test for rust-lang#150898 to make users aware that if this test failures, they may encounter unusual behavior elsewhere.
…c, r=wesleywiser Fix tier level for 5 thumb bare-metal ARM targets The spec files for 5 Thumb-mode bare-metal ARM targets incorrectly set tier: Some(2), while the documentation correctly lists them as Tier 3. This mismatch was introduced in PR rust-lang#150556 — the intent was Tier 2 eventually, but these targets should sit at Tier 3 until a proper Tier 3 → Tier 2 promotion MCP is submitted and approved. This PR changes tier: Some(2) → Some(3) in the following spec files, making them consistent with the docs: thumbv7a-none-eabi thumbv7a-none-eabihf thumbv7r-none-eabi thumbv7r-none-eabihf thumbv8r-none-eabihf PS: No doc changes needed — they already correctly state Tier 3. r?
…typo, r=wesleywiser Fix typo by removing extra 'to' Fixes rust-lang#155695 Fix a typo in the `std::convert` module documentation by removing an extra "to" in the module-level docs.
…chenkov Remove `AllVariants` workaround for rust-analyzer Part of rust-lang#155677 Removes the `ALL_VARIANTS` alias added to work around rust-analyzer not supporting `#![feature(macro_derive)]`, which has since been fixed (rust-lang/rust-analyzer/issues/21043).
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
…uwer Rollup of 12 pull requests Successful merges: - #149452 (Refactor out common code into a `IndexItem::new` constructor) - #155621 (Document #[diagnostic::on_move] in the unstable book.) - #155635 (delegation: rename `Self` generic param to `This` in recursive delegations) - #155730 (Some cleanups around per parent disambiguators) - #153537 (rustc_codegen_ssa: Define ELF flag value for sparc-unknown-linux-gnu) - #155219 (Do not suggest borrowing enclosing calls for nested where-clause obligations) - #155408 (rustdoc: Fix Managarm C Library name in cfg pretty printer) - #155571 (Enable AddressSanitizer on arm-unknown-linux-gnueabihf and armv7-unknown-linux-gnueabihf) - #155713 (test: Add a regression test for Apple platforms aborting on `free`) - #155723 (Fix tier level for 5 thumb bare-metal ARM targets) - #155735 (Fix typo by removing extra 'to') - #155736 (Remove `AllVariants` workaround for rust-analyzer)
|
💔 Test for cfaac75 failed: CI. Failed job:
|
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
Probably spurious? |
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 acb65f3 (parent) -> 7c61a35 (this PR) Test differencesShow 324 test diffsStage 1
Stage 2
Additionally, 302 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 7c61a357e3c91b8a3c02dc63b7744d942d572a9a --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 |
|
📌 Perf builds for each rolled up PR:
previous master: acb65f36a0 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (7c61a35): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@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 -2.5%, secondary 0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 9.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.1%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 491.731s -> 491.842s (0.02%) |
Successful merges:
IndexItem::newconstructor #149452 (Refactor out common code into aIndexItem::newconstructor)Selfgeneric param toThisin recursive delegations #155635 (delegation: renameSelfgeneric param toThisin recursive delegations)free#155713 (test: Add a regression test for Apple platforms aborting onfree)AllVariantsworkaround for rust-analyzer #155736 (RemoveAllVariantsworkaround for rust-analyzer)r? @ghost
Create a similar rollup