Skip to content

Rollup of 18 pull requests - #163729

Closed
jhpratt wants to merge 49 commits into
rust-lang:mainfrom
jhpratt:rollup-Ou5ThQg
Closed

jhpratt wants to merge 49 commits into
rust-lang:mainfrom
jhpratt:rollup-Ou5ThQg

Conversation

@jhpratt

@jhpratt jhpratt commented Oct 3, 2026

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

valentynkit and others added 30 commits August 31, 2026 15:41
After `core::panic::PanicInfo` and `std::panic::PanicHookInfo` were split, the docs for
`location` still showed incorrect usage of `std::panic::set_hook` for `core::panic::PanicInfo` location,
leftover from before the split.

Also notes for location methods of `PanicInfo` and `PanicHookInfo` were
updated, explaining that if it is ever changed to return None, it
should be addressed where the location is created and where it's
unwrapped, to avoid unexpected behaviour when callers may expect to
always receive location.
For `PanicInfo`, `panic_fmt` builds it, and `panic_handler` unwraps it.
For `PanicHookInfo`, `panic_with_hook` builds it, and `default_hook`
unwraps it.
Use the same fallback string as the PanicInfo::location example
in the PanicHookInfo::location and Location doc examples for
consistency.
Unlike `fs::rename`, the destination is never overwritten, returning
`ErrorKind::AlreadyExists` if `to` already exists.

Platform-specific APIs used: `renameat2` with `RENAME_NOREPLACE` flag on `Linux` and `Android`, `renamex_np` with `RENAME_EXCL` on `Apple`,
and `MoveFileExW` without the `MOVEFILE_REPLACE_EXISTING` flag on `Windows`.
On other Unix platforms, and on Linux, Android and Apple when the kernel
or the filesystem doesn't support it, `link` followed by `unlink` is
used instead. Platforms with neither return `Unsupported`.
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
windows-bindgen no longer generates the `MOVE_FILE_FLAGS` alias, so `u32` is
used instead.
…s` when using the `--generate-link-to-definition` feature
```
error: implementation of `TheTrait` is not general enough
  --> $DIR/associated-types-eq-hr.rs:96:5
   |
LL | fn tuple_one<T>()
   |    --------- due to a where-clause on `tuple_one`...
LL | where
LL |     T: for<'x, 'y> TheTrait<(&'x isize, &'y isize), A = &'x isize>,
   |        ----------------------------------------------------------- unsatisfied where-clause on `tuple_one`
...
LL |     tuple_one::<Tuple>();
   |     ^^^^^^^^^^^^^^^^^^^^
   |
   = note: ...`Tuple` must implement `TheTrait<(&'0 isize, &'1 isize)>`, for any two lifetimes `'0` and `'1`...
note: ...but it actually implements `TheTrait<(&'2 isize, &'2 isize)>`, for some specific lifetime `'2`
  --> $DIR/associated-types-eq-hr.rs:35:1
   |
LL | impl<'a> TheTrait<(&'a isize, &'a isize)> for Tuple {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
Use a span note instead of span labels so that when talking about the trait that should have been implemented, we always point at where the obligation was introduced in a consistent place.

```
error: implementation of `TheTrait` is not general enough
  --> $DIR/associated-types-eq-hr.rs:96:5
   |
LL |     tuple_one::<Tuple>();
   |     ^^^^^^^^^^^^^^^^^^^^
   |
note: `Tuple` must implement `TheTrait<(&'0 isize, &'1 isize)>`, for any two lifetimes `'0` and `'1`...
  --> $DIR/associated-types-eq-hr.rs:59:8
   |
LL | fn tuple_one<T>()
   |    --------- due to a where-clause on `tuple_one`
LL | where
LL |     T: for<'x, 'y> TheTrait<(&'x isize, &'y isize), A = &'x isize>,
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied where-clause on `tuple_one`
note: ...but it actually implements `TheTrait<(&'2 isize, &'2 isize)>`, for some specific lifetime `'2`
  --> $DIR/associated-types-eq-hr.rs:35:1
   |
LL | impl<'a> TheTrait<(&'a isize, &'a isize)> for Tuple {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
```
error: implementation of `Lengthen` is not general enough
  --> $DIR/gat-bounds-not-checked-with-right-substitutions.rs:20:20
   |
LL |     type Gat<'a> = &'a str;
   |                    ^^^^^^^
   |
note: `Lengthen<&'0 str>` would have to be implemented for the type `&'a str`, for any lifetime `'0`...
  --> $DIR/gat-bounds-not-checked-with-right-substitutions.rs:12:19
   |
LL | trait Gat {
LL |     type Gat<'a>: for<'b> Lengthen<Self::Gat<'b>>;
   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Gat::Gat`
   = note: ...but `Lengthen<&'1 str>` is actually implemented for the type `&'1 str`, for some specific lifetime `'1`
```
…sage

Use same wording as cargo does when `package.edition` is unspecified.

Do not suggest `--edition=future` on stable.
…tests, r=Urgau

Move more `rustdoc-html tests` in the right location

Follow-up of rust-lang#162372.

r? @Urgau
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 3, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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. labels Oct 3, 2026
@jhpratt

jhpratt commented Oct 3, 2026

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

@rust-bors

rust-bors Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 93a2ad6 has been approved by jhpratt

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 Oct 3, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 4, 2026
Rollup of 18 pull requests

Successful merges:

 - #158102 (When compiling without a specified `--edition`, emit a message)
 - #162027 (std: add `fs::rename_noreplace`)
 - #162761 (Lower attributes for functions without bodies)
 - #163161 (implement FCW for `rustc_allowed_through_unstable_modules` items)
 - #163613 (Tweak the rendering of "not general enough" errors on the old trait solver)
 - #162062 (core: fix the docs of PanicInfo::location)
 - #163140 (document safety requirements for atomic intrinsics)
 - #163342 (Don't imply incorrect things about `Global` in the docs of `System`)
 - #163445 (Add safety comments for alloc::str)
 - #163503 (Mark Rc strong/weak count methods must_use)
 - #163548 (fs::set_permissions_nofollow: Android support, test cleanup)
 - #163585 ([triagebot] Create `debugger_visualizer` assign group)
 - #163597 (Add `SplitPathsRef` implementation for motor to make std build)
 - #163602 (Move media & home dirs tests to fs tests.)
 - #163667 (Finalize changes on expect messages for library/core/src/fmt/mod.rs)
 - #163682 ([rustdoc] Correctly link to (imported) enum variants with "jump to def")
 - #163683 (Fix GCC codegen backend comment in bootstrap)
 - #163703 (Move more `rustdoc-html tests` in the right location)

Failed merges:

 - #161491 (Rip out old solver coherence)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-arm-android 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::tests::test_rename_noreplace_directory stdout ----

thread 'fs::tests::test_rename_noreplace_directory' (10893) panicked at library/std/src/fs/tests.rs:2739:54:
called `Result::unwrap()` on an `Err` value: Os { code: 1, kind: PermissionDenied, message: "Operation not permitted" }
---- fs::tests::test_rename_noreplace_directory stdout end ----

failures:
    fs::tests::test_rename_noreplace_directory

test result: FAILED. 429 passed; 1 failed; 28 ignored; 0 measured; 0 filtered out; finished in 302.65s

@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. labels Oct 4, 2026
@rust-bors

rust-bors Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 0311293 failed: CI. Failed job:

@jhpratt jhpratt closed this Oct 4, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 4, 2026
@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 Oct 4, 2026
@rust-bors

rust-bors Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

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

@jhpratt
jhpratt deleted the rollup-Ou5ThQg branch October 4, 2026 02:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.