Skip to content

Rollup of 5 pull requests - #164780

Closed
JonathanBrouwer wants to merge 12 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-OtLNFUA
Closed

JonathanBrouwer wants to merge 12 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-OtLNFUA

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

jamie-osec and others added 12 commits October 22, 2026 16:49
```
error: lifetime may not live long enough
  --> $DIR/issue-55394.rs:9:9
   |
LL |     fn new(bar: &mut Bar) -> Self {
   |                 -            ---- return type is `Foo<'2>`
   |                 |
   |                 let's call the lifetime of this reference `'1`
LL |         Foo { bar }
   |         ^^^^^^^^^^^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
```
When encountering resolve errors caused by a missing turbofish having parsed as binops of types, emit a single error explaining the mistake clearly and silence redundant resolve errors.

```
error: can't compare two types
  --> $DIR/suggest-turbofish-parsed-as-comparisons.rs:11:41
   |
LL |     let _ = Arc::new(RwLock::new(HashMap<i32, i64>::default()));
   |                                         ^        ^ these are parsed as "less than" and "greater than"
   |
help: you likely intended to write type `HashMap` with type parameters, but type parameters in expression contexts require the use of the "turbofish" `::<>`
   |
LL |     let _ = Arc::new(RwLock::new(HashMap::<i32, i64>::default()));
   |                                         ++
```

Detect successfully parsed missing turbofish in "incorrect function arguments" error

When encountering a call that doesn't have the right number of arguments, see if there are two arguments next to each other that are binops of types. If so, silence the diagnostic as other more targeted diagnostics will have been emitted already.
Use 64-bit futex syscalls on RV32 Linux

Closes rust-lang#164694

This changes riscv32 Linux targets to use the `SYS_futex_time64` syscall instead of `SYS_futex` in the standard library to fix compilation after rust-lang/libc#5455.

`libc::timespec` has a `c_long` for nanoseconds on 32-bit targets right now, whereas the kernel uses `long long`. I'm not sure whether this is a problem or not?

I'm also curious whether using the time64 syscall on _all_ 32-bit targets is a desired change.

r? tgross35
Account for missing turbofish in resolve errors

When encountering resolve errors caused by a missing turbofish having parsed as binops of types, emit a single error explaining the mistake clearly and silence redundant resolve errors.

```
error: can't compare two types
  --> $DIR/suggest-turbofish-parsed-as-comparisons.rs:11:41
   |
LL |     let _ = Arc::new(RwLock::new(HashMap<i32, i64>::default()));
   |                                         ^        ^ these are parsed as "less than" and "greater than"
   |
help: you likely intended to write type `HashMap` with type parameters, but type parameters in expression contexts require the use of the "turbofish" `::<>`
   |
LL |     let _ = Arc::new(RwLock::new(HashMap::<i32, i64>::default()));
   |                                         ++
```

Address rust-lang#81816. We should reduce the verbosity of the output and not complain about too many arguments.
…lution, r=Urgau

Include `deprecated` attributes in `rustc_resolve` intra-doc link resolution

Fixes rust-lang#164711.

Problem was that we didn't include `deprecated` attribute in the "inner" marker, so it was never processed in `rustc_resolve` and therefore couldn't be found in rustdoc intra-doc link handling.

r? @Urgau
Update outdated/incorrect unstable tracking issue links

While investigating another issue, I noticed that there were a lot of unstable features with incorrect or outdated links to their tracking issues.
…expr, r=mati865

[tiny] Properly format return type in lifetime error with backticks

```
error: lifetime may not live long enough
  --> $DIR/issue-55394.rs:9:9
   |
LL |     fn new(bar: &mut Bar) -> Self {
   |                 -            ---- return type is `Foo<'2>`
   |                 |
   |                 let's call the lifetime of this reference `'1`
LL |         Foo { bar }
   |         ^^^^^^^^^^^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
```
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 23, 2026
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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. labels Oct 23, 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-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu,test-x86_64-gnu-llvm-22-3

@rust-bors

rust-bors Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

📌 Commit d11bf9e 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 Oct 23, 2026
@rust-bors

This comment has been minimized.

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


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
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
try-job: test-x86_64-gnu-llvm-22-3
@rust-bors

This comment has been minimized.

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

Rollup of 5 pull requests

Successful merges:

 - #164748 (Use 64-bit futex syscalls on RV32 Linux)
 - #159689 (Account for missing turbofish in resolve errors)
 - #164733 (Include `deprecated` attributes in `rustc_resolve` intra-doc link resolution)
 - #164754 (Update outdated/incorrect unstable tracking issue links)
 - #164761 ([tiny] Properly format return type in lifetime error with backticks)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job dist-powerpc64-linux-musl failed! Check out the build log: (web) (plain enhanced) (plain)

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

error[E0659]: `STATX_NLINK` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:81:26
    |
 81 |         const NLINK = c::STATX_NLINK;
    |                          ^^^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_NLINK` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---
524 | pub(crate) use statx_flags::*;
    |                ^^^^^^^^^^^^^^
    = help: consider adding an explicit import of `STATX_NLINK` to disambiguate

error[E0659]: `STATX_UID` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:84:24
    |
 84 |         const UID = c::STATX_UID;
    |                        ^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_UID` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---
524 | pub(crate) use statx_flags::*;
    |                ^^^^^^^^^^^^^^
    = help: consider adding an explicit import of `STATX_UID` to disambiguate

error[E0659]: `STATX_GID` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:87:24
    |
 87 |         const GID = c::STATX_GID;
    |                        ^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_GID` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---

error[E0659]: `STATX_ATIME` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:90:26
    |
 90 |         const ATIME = c::STATX_ATIME;
    |                          ^^^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_ATIME` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---

error[E0659]: `STATX_MTIME` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:93:26
    |
 93 |         const MTIME = c::STATX_MTIME;
    |                          ^^^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_MTIME` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---

error[E0659]: `STATX_INO` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:99:24
    |
 99 |         const INO = c::STATX_INO;
    |                        ^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_INO` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---

error[E0659]: `STATX_BTIME` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:111:26
    |
111 |         const BTIME = c::STATX_BTIME;
    |                          ^^^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_BTIME` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---
524 | pub(crate) use statx_flags::*;
    |                ^^^^^^^^^^^^^^
    = help: consider adding an explicit import of `STATX_BTIME` to disambiguate

error[E0659]: `STATX_MNT_ID` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:114:27
    |
114 |         const MNT_ID = c::STATX_MNT_ID;
    |                           ^^^^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_MNT_ID` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---
524 | pub(crate) use statx_flags::*;
    |                ^^^^^^^^^^^^^^
    = help: consider adding an explicit import of `STATX_MNT_ID` to disambiguate

error[E0659]: `STATX_DIOALIGN` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:117:29
    |
117 |         const DIOALIGN = c::STATX_DIOALIGN;
    |                             ^^^^^^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_DIOALIGN` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
  7 | pub(crate) use libc::*;
    |                ^^^^^^^
    = help: consider adding an explicit import of `STATX_DIOALIGN` to disambiguate
note: `STATX_DIOALIGN` could also refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:524:16
    |
524 | pub(crate) use statx_flags::*;
    |                ^^^^^^^^^^^^^^
    = help: consider adding an explicit import of `STATX_DIOALIGN` to disambiguate

error[E0659]: `STATX_ALL` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:120:24
    |
120 |         const ALL = c::STATX_ALL;
---

error[E0659]: `STATX_ATTR_NODUMP` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:142:27
    |
142 |         const NODUMP = c::STATX_ATTR_NODUMP as u64;
    |                           ^^^^^^^^^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_ATTR_NODUMP` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
---
524 | pub(crate) use statx_flags::*;
    |                ^^^^^^^^^^^^^^
    = help: consider adding an explicit import of `STATX_ATTR_VERITY` to disambiguate

error[E0659]: `STATX_ATTR_DAX` is ambiguous
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/fs/statx.rs:157:24
    |
157 |         const DAX = c::STATX_ATTR_DAX as u64;
    |                        ^^^^^^^^^^^^^^ ambiguous name
    |
    = note: ambiguous because of multiple glob imports of a name in the same module
note: `STATX_ATTR_DAX` could refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:7:16
    |
  7 | pub(crate) use libc::*;
    |                ^^^^^^^
    = help: consider adding an explicit import of `STATX_ATTR_DAX` to disambiguate
note: `STATX_ATTR_DAX` could also refer to the constant imported here
   --> /cargo/registry/25cdd57fae9f0462/rustix-1.1.2/src/backend/libc/c.rs:524:16
    |
524 | pub(crate) use statx_flags::*;
    |                ^^^^^^^^^^^^^^
    = help: consider adding an explicit import of `STATX_ATTR_DAX` to disambiguate

[RUSTC-TIMING] digest test:false 0.267
[RUSTC-TIMING] fluent_bundle test:false 0.813
   Compiling aho-corasick v1.1.4
[RUSTC-TIMING] fluent_bundle test:false 1.001

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

rust-bors Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 11a8008 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 Oct 23, 2026
@rust-bors

rust-bors Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

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

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

rust-bors Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 0197232 (0197232cb1aa56a394592e0e38754c8f849a969d)
Base parent: 7189d39 (7189d39d9ce936881b8132c6addeaf3e295cd455)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-meta Area: Issues & PRs about the rust-lang/rust repository itself PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants