Skip to content

Rollup of 20 pull requests - #160682

Open
JonathanBrouwer wants to merge 108 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-Se0ChNe
Open

Rollup of 20 pull requests#160682
JonathanBrouwer wants to merge 108 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-Se0ChNe

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

sjwang05 and others added 30 commits June 12, 2026 22:03
Proving `T::Assoc<_>: Sized` while a where-clause bound `T::Assoc<u8>: Sized`
was in scope used to over-eagerly infer the unconstrained argument to `u8`,
causing a spurious "mismatched types" error. It should compile; lock that in.
Add tests for generic function pointers
Change FnPtr tests to use assert_eq!() rather than println!()
don't force intrinsic results into memory
This updates the rust-version file to 7218ebe.
Move command-result printing into a helper and keep CLI loop control at the call site.
Consume Priroda's --dap flag before handing arguments to rustc_driver::run_compiler, then dispatch the freshly-created PrirodaContext to either the existing CLI loop or a new DAP loop stub.
Add FirstUserSourceLocation ResumeMode variant that stops when the
interpreter reaches a user-relevant frame with a source location.
This gives the DAP frontend an entry-stop primitive that skips
Miri-internal and std frames.
Add regression test for GAT bound mismatched type error

Adds a regression test for the mismatch type error case of rust-lang#106832 which is now fixed
dlopen offload

dlopen offload to dist it in dist-x86_64-linux without enabling llvm.offload=true in CI (rust-lang#159064 (comment))

I tested that this works by following steps at https://rustc-dev-guide.rust-lang.org/offload/usage.html for both LLVM22 and 23(by switch base branch to rust-lang#158734 temporarily), though It might be better to land this after LLVM 23.

r? @ZuseZ4
…ker-output, r=ChrisDenton

codegen: classify localized MSVC linker progress as linker_info

Fixes rust-lang#159133.

`report_linker_output` currently recognizes only a small set of English `link.exe` progress messages as informational. When the linker output is localized, equivalent progress messages are instead emitted through the `linker_messages` lint.

Instead of matching specific English strings, classify MSVC linker output based on locale-independent `LNK####` diagnostic codes.Lines without an `LNK####` code are routed to `linker_info`, while diagnostics continue to be emitted through `linker_messages`. The existing `LNK6004` incremental-link exception is preserved.

Testing

- Added a run-make regression test for localized `link.exe` progress output.
- Verified the existing MSVC linker-info tests continue to pass.
…nd_lint, r=JonathanBrouwer

rustc_resolve: move diagnostic attribute linting to attr parsing

It was in rustc_resolve because there was no general attribute parsing infra back then, but now there is, so it should be there.

Also improves some spans.

This change also makes it so that unknown diagnostic attributes are removed, rather than stay as unparsed attributes.
cleanup borrowck, improve c-variadic handling

The first commits of rust-lang#160491. Hopefully all of them make sense.

It feels intuitive to me that the `c-variadic` region should be just another late-bound region and tracking region correctly for rust-lang#160491 is otherwise a mess.

r? types
expand: Feature gate AST-based attribute macros on expressions and statements

Right now all of these macros happen to either be unstable or to produce errors when used on expressions and (non-item) statements, but it is safer to feature gate them anyway to avoid unexpected stability holes in the future, because all token-based macros are already feature-gated in these positions.
Add regression test for associated type outlives bound at call site

Closes rust-lang#63253 adds a check pass regression test
platform-support/netbsd.md: No longer mention 8.x, due to EoL.

Also change the pkgsrc-wip link to indicate a more current rust version.

To be re-visited again once 9.x reaches end of maintnance and EoL by the end of the current month.

<!-- homu-ignore:start -->

- [ x] I did not use an LLM to create a change in this PR.
- [ ] I used an LLM to create a change in this PR, and I have explained below how it was used.
derive(Diagnostic): link to proper docs

I confirmed that this makes the doc comment show up in RA when hovering a `derive(Diagnostic)`.

Also it's not correct that `note` etc can only be used on the struct, those attributes also work on (some) fields. So also fix the comment.
Clean up some manual debug impls

Some of these can just be derives. Others omitted fields, deliberately or not.

For example, the annotate emitter debug now looks like:
```rust
AnnotateSnippetEmitter {
    dst: <writer@0x9069b55c60>,
    sm: Some(
        SourceMap {
            files: RwLock(
                RwLock {
                    data: [
                        "C:\\Users\\bruno\\Rust\\rust\\tests\\ui\\consts\\bad-array-size-in-type-err.rs",
                        "/rustc/FAKE_PREFIX\\library\\std\\src\\lib.rs",
                        "/rustc/FAKE_PREFIX\\library\\std\\src\\../../core/src/attribute_docs.rs",
                        "/rustc/FAKE_PREFIX\\library\\std\\src\\../../core/src/keyword_docs.rs",
                        "/rustc/FAKE_PREFIX\\library\\std\\src\\../../core/src/primitive_docs.rs",
                        "/rustc/FAKE_PREFIX\\library\\std\\src\\macros.rs",
                        "/rustc/FAKE_PREFIX\\library\\std\\src\\thread\\local.rs",
                        "/rustc/FAKE_PREFIX\\library\\std\\src\\prelude\\mod.rs",
                        "/rustc/FAKE_PREFIX\\library\\std\\src\\prelude\\v1.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\lib.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\clone.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\marker.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\default.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\cmp.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\ops\\mod.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\ops\\drop.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\ops\\function.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\ops\\async_function.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\convert\\mod.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\iter\\mod.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\iter\\traits\\mod.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\iter\\traits\\double_ended.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\iter\\traits\\exact_size.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\iter\\traits\\collect.rs",
                        "/rustc/FAKE_PREFIX\\library\\core\\src\\iter\\traits\\iterator.rs",
                        "/rustc/FAKE_PREFIX\\library\\alloc\\src\\lib.rs",
                        "/rustc/FAKE_PREFIX\\library\\alloc\\src\\borrow.rs",
                        "/rustc/FAKE_PREFIX\\library\\alloc\\src\\string.rs",
                    ],
                },
            ),
            file_loader: <file_loader@0x1f813386448>,
            path_mapping: FilePathMapping {
                mapping: [],
                filename_remapping_scopes: RemapPathScopeComponents(
                    MACRO | DIAGNOSTICS | DEBUGINFO | COVERAGE | DOCUMENTATION,
                ),
            },
            working_dir: RealFileName {
                local: Some(
                    InnerRealFileName {
                        name: "C:\\Users\\bruno\\Rust\\rust",
                        working_directory: "",
                        embeddable_name: "C:\\Users\\bruno\\Rust\\rust",
                    },
                ),
                maybe_remapped: InnerRealFileName {
                    name: "C:\\Users\\bruno\\Rust\\rust",
                    working_directory: "",
                    embeddable_name: "C:\\Users\\bruno\\Rust\\rust",
                },
                scopes: RemapPathScopeComponents(
                    0x0,
                ),
            },
            hash_kind: Sha256,
            checksum_hash_kind: None,
        },
    ),
    short_message: false,
    ui_testing: true,
    ignored_directories_in_source_blocks: [
        "C:\\Users\\bruno\\.cargo",
        "C:\\Users\\bruno\\Rust\\rust\\vendor",
    ],
    diagnostic_width: None,
    macro_backtrace: false,
    track_diagnostics: false,
    terminal_url: No,
    theme: Ascii,
}
```
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Aug 7, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) 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-rustdoc-json Area: Rustdoc JSON backend O-unix Operating system: Unix-like 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-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 Aug 7, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ p=5

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

@rust-bors

rust-bors Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 20ba911 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 Aug 7, 2026
@rust-bors

rust-bors Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

⌛ Trying commit 20ba911 with merge 96cbac7

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/31168372229

rust-bors Bot pushed a commit that referenced this pull request Aug 7, 2026
Rollup of 20 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple-*
try-job: x86_64-mingw-1
try-job: i686-msvc-*
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors p=8

@rust-bors

rust-bors Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

⌛ Testing commit 20ba911 with merge 0d352b0...

Workflow: https://github.com/rust-lang/rust/actions/runs/31181085263

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

Rollup of 20 pull requests

Successful merges:

 - #159784 (Hint that memchr returns an in-bounds index)
 - #150885 (Revive L4Re target)
 - #159643 (Add support for splatted function pointers)
 - #160433 (delegation: add support for wrapping of the return value with `From::from`)
 - #160530 (refactor handling of target features in Session)
 - #160606 (bootstrap: Store and use an explicit CheckKind in `check::Rustc`)
 - #160628 (fix ICE in `suggest_add_reference_to_arg` for non-callable items)
 - #160634 (miri subtree update)
 - #157641 (Do not promote extern statics)
 - #158904 (Fix FutureDropPoll shim for by-move async closures)
 - #160103 (Add regression test for GAT bound mismatched type error)
 - #160335 (dlopen offload)
 - #160445 (codegen: classify localized MSVC linker progress as linker_info)
 - #160499 (rustc_resolve: move diagnostic attribute linting to attr parsing)
 - #160504 (cleanup borrowck, improve c-variadic handling)
 - #160577 (expand: Feature gate AST-based attribute macros on expressions and statements)
 - #160587 (Add regression test for associated type outlives bound at call site)
 - #160625 (platform-support/netbsd.md: No longer mention 8.x, due to EoL.)
 - #160636 (derive(Diagnostic): link to proper docs)
 - #160644 (Clean up some manual debug impls)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) 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-rustdoc-json Area: Rustdoc JSON backend O-unix Operating system: Unix-like rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.