Skip to content

Rollup of 15 pull requests - #163460

Closed
JonathanBrouwer wants to merge 45 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-OIZLNAi
Closed

JonathanBrouwer wants to merge 45 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-OIZLNAi

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

tgross35 and others added 30 commits August 25, 2026 22:39
`funnel_shl` and `funnel_shr` have been around for close to a year, the
unchecked versions for a number of months. These are reasonably small
and uncontroversial, and it can be tricky to get similar performance
with a fallback; stabilize them here.

Newly stable API:

    impl {u8, u16, u32, u64, u128, usize} {
        pub const fn funnel_shl(self, right: Self, shift: u32) -> Self;
        pub const fn funnel_shr(self, right: Self, shift: u32) -> Self;

        pub const unsafe fn unchecked_funnel_shl(self, right: Self, shift: u32) -> Self;
        pub const unsafe fn unchecked_funnel_shr(self, right: Self, shift: u32) -> Self;
    }

The tracking issue also mentions a `wrapping_` version but it has not
been implemented.

Tracking issue: RUST-145686
For production use, we should only link in the ubsan_minimal runtime,
instead of the complete ubsan runtime. This adds support for both
cfi-recover and cfi-diag to use the minimal runtime when
`-Zsanitizer-cfi-minimal-runtime` is specified.

This also includes tests, to ensure the flag can only be used if either
cfi-recover or cfi-diag is enabled, it doesn't disrupt the original
behavior, and links in the correct runtime when specified.

Co-Authored-By: Bastian Kersting <bkersting@google.com>
Co-Authored-By: Bastian Kersting <bkersting@google.com>
Only check `SanitizerCfiMinimalRuntimeRequiresCfiRecoverOrDiag` if CFI
is actually enabled.

Use `is_sanitizer_cfi_minimal_runtime_enabled()` helper within
`link.rs`.
…Source::Path`

Use the `DefPath` to determine whether an `extern crate` item is
globally nameable.

`extern crate` items nested inside value namespaces cannot be referred
to by a stable path outside their enclosing scope. Record them as
`ExternCrateSource::Path` instead of `ExternCrateSource::Extern` so
later path resolution does not reconstruct unnameable paths.
also includes:
- std::env::split_paths_ref
- std::os::{darwin|unix|windows}::{Home|Media}DirsExt
@rustbot rustbot added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Sep 28, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,test-x86_64-gnu-aux,test-x86_64-gnu-llvm-21-3,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu

@rust-bors

rust-bors Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

📌 Commit c8de656 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 28, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 28, 2026
Rollup of 15 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-gnu-llvm-21-3
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc
try-job: test-armhf-gnu
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 28, 2026
…uwer

Rollup of 15 pull requests

Successful merges:

 - #158936 (Add `std::fs::{Home|Media}Dirs`)
 - #129036 (Additional NonZero conversions)
 - #158997 (Avoid recording unnameable `extern crate` aliases in diagnostic metadata)
 - #161015 (Stabilize `funnel_shifts` (including `const`))
 - #161712 (Stabilize `Result::into_{ok,err}`)
 - #162493 (Add support for -Zsanitizer-cfi-minimal-runtime)
 - #162655 (next solver: prefer to select impl candidates over global where-clause candidates)
 - #162862 (Fix intra doc link resolution when a doc comment is composed of both inner and outer doc comment)
 - #163200 (make `RustaceansAreAwesome` satisfy trait bounds)
 - #163331 (Move `Arc` and `Rc` into `rcs` mod)
 - #163427 (implement #![feature(gca_adts)])
 - #163428 (do not complain about unstable target features on nightly)
 - #163444 (Add `stable_rustc` helper in `run-make-support`)
 - #163447 (Allow using different index types when reading and writing to tables)
 - #163450 (Force the correct type variable to never for method resolution on an adjusted never type)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-mingw-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
test fs::tests::read_large_dir ... ok

failures:

---- fs::dirs::tests::test_home_dirs_field_hookup_matches stdout ----

thread 'fs::dirs::tests::test_home_dirs_field_hookup_matches' (8056) panicked at library\std\src\fs\dirs.rs:419:9:
config home directory path must be absolute
---- fs::dirs::tests::test_home_dirs_field_hookup_matches stdout end ----
---- fs::dirs::tests::test_media_dirs_field_hookup_matches stdout ----

thread 'fs::dirs::tests::test_media_dirs_field_hookup_matches' (2176) panicked at library\std\src\fs\dirs.rs:457:9:
desktop directory path must be absolute
---- fs::dirs::tests::test_media_dirs_field_hookup_matches stdout end ----

failures:
    fs::dirs::tests::test_home_dirs_field_hookup_matches
    fs::dirs::tests::test_media_dirs_field_hookup_matches

test result: FAILED. 421 passed; 2 failed; 6 ignored; 0 measured; 0 filtered out; finished in 20.71s

error: test failed, to rerun pass `-p std --lib`
Bootstrap failed while executing `test --stage 2 --skip=compiler --skip=src`
Currently active steps:
test::Crate { build_compiler: Compiler { stage: 2, host: x86_64-pc-windows-gnu, forced_compiler: false }, target: x86_64-pc-windows-gnu, mode: Std, crates: ["alloc", "alloctests", "compiler_builtins", "core", "coretests", "panic_abort", "panic_unwind", "proc_macro", "rustc-std-workspace-core", "std", "std_detect", "sysroot", "test", "unwind"] } at src\bootstrap\src\core\build_steps\test.rs:3528
Build completed unsuccessfully in 1:28:25
make: *** [Makefile:126: ci-mingw-x] Error 1
  local time: Mon Sep 28 22:10:51 CUT 2026
  network time: Mon, 28 Sep 2026 22:10:52 GMT
##[error]Process completed with exit code 2.
##[group]Run echo "disk usage:"
echo "disk usage:"

@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 28, 2026
@rust-bors

rust-bors Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

💔 Test for d899ff2 failed: CI. Failed jobs:

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-aarch64-msvc-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:

---- fs::dirs::tests::test_home_dirs_field_hookup_matches stdout ----

thread 'fs::dirs::tests::test_home_dirs_field_hookup_matches' (5512) panicked at library\std\src\fs\dirs.rs:419:9:
config home directory path must be absolute
---- fs::dirs::tests::test_home_dirs_field_hookup_matches stdout end ----
---- fs::dirs::tests::test_media_dirs_field_hookup_matches stdout ----

thread 'fs::dirs::tests::test_media_dirs_field_hookup_matches' (5784) panicked at library\std\src\fs\dirs.rs:457:9:
desktop directory path must be absolute
---- fs::dirs::tests::test_media_dirs_field_hookup_matches stdout end ----

failures:
    fs::dirs::tests::test_home_dirs_field_hookup_matches
    fs::dirs::tests::test_media_dirs_field_hookup_matches

test result: FAILED. 414 passed; 2 failed; 10 ignored; 0 measured; 0 filtered out; finished in 18.48s

error: test failed, to rerun pass `-p std --lib`
Bootstrap failed while executing `test --stage 2 --skip=compiler --skip=src`
Currently active steps:
test::Crate { build_compiler: Compiler { stage: 2, host: aarch64-pc-windows-msvc, forced_compiler: false }, target: aarch64-pc-windows-msvc, mode: Std, crates: ["alloc", "alloctests", "compiler_builtins", "core", "coretests", "panic_abort", "panic_unwind", "proc_macro", "rustc-std-workspace-core", "std", "std_detect", "sysroot", "test", "unwind"] } at src\bootstrap\src\core\build_steps\test.rs:3528
Build completed unsuccessfully in 1:31:16
make: *** [Makefile:115: ci-msvc-py] Error 1
  local time: Mon Sep 28 16:17:47 PDT 2026
  network time: Mon, 28 Sep 2026 23:17:47 GMT
##[error]Process completed with exit code 2.
##[group]Run echo "disk usage:"
echo "disk usage:"

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Sep 28, 2026
@rust-bors

rust-bors Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

💔 Test for eba8d41 failed: CI. Failed job:

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 29, 2026
@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

PR #158936, which is a member of this rollup, was unapproved.

@tgross35

Copy link
Copy Markdown
Member

#158936 (comment)

@tgross35 tgross35 closed this Sep 29, 2026
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide O-apple Operating system: Apple / Darwin (macOS, iOS, tvOS, visionOS, watchOS) O-unix Operating system: Unix-like O-windows Operating system: Windows PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.