Skip to content

Rollup of 7 pull requests - #165886

Closed
JonathanBrouwer wants to merge 29 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-0VjAJCI
Closed

JonathanBrouwer wants to merge 29 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-0VjAJCI

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

scrabsha and others added 29 commits November 12, 2026 09:33
after some discussion, we decided we want view types to be `!Sized`, at
least at the beginning. this commit updates the test suite so that view
types are not passed by value anymore.
this commit is quite big because we want to always exhaustively match on
all the `TyKind` variants. none of the `unimplemented!()` is reachable
because we don't *actually* lower view types (yet!).
/!\ the test suite is has not been updated /!\

the `unreachable!()`s added previously are suddenly reached, triggering
literally all the view types test suite to ICE. this is fixed by the next
commit.
…direct-load, r=bjorn3

Remove dead code for returning `BackendRepr::Memory` with `PassMode::Direct`

This is unreachable now that we don't use `PassMode::Direct` for aggregates, as `OperandValue::Ref` is only used for non-ZST `BackendRepr::Memory`.

r? @bjorn3
…g, r=oli-obk

view-types: lower view types from HIR
…egression, r=folkertdev

tests: cover MSVC ThinLTO exported symbol preservation

test-only continuation of rust-lang#165458
this pr adds regression tests for exported-symbol preservation during ThinLTO on i686 MSVC.

the test checks that ThinLTO preserves: ordinary exported functions, where LLVM IR names differ from COFF linker-visible names. stdcall functions with explicitly decorated symbol names. exported static data.
the run-make test executes on x86_64 MSVC and cross-compiles an i686 MSVC static library using `minicore`, so it does not require an installed i686 standard-library sysroot.

Verified the test against both implementations:
before the fix: test fails because ThinLTO does not preserve `___rust_lto_preserve_plain`.
after the fix: test passes with all expected exported symbols present.

both fixture compilation steps succeeded in the failing run, confirming that the failure is caused by incorrect symbol preservation rather than a compilation or linking issue.

r? @folkertdev
…utes, r=oli-obk

reflection: reflect attributes from adts, fields, and variants

Introduced a new attribute tool `reflection_placeholder` behind the `TypeId` feature gate. Added intrinsics and methods to query there tool attributes from adts, fields, and variants.

Uncertain if the stringifying of the attribute objects before returning them is the right approach. Alternatively, a specific tool attribute structure could be introduced and returned instead of strings.

The feature gating also, erroneously, triggers when a user registers a tool attribute with the same name using the `register_tool` feature.
…ieyouxu

Update `sysinfo` version to `0.40.3`
cg_llvm: Use an invariant lifetime brand for LLVM attributes

This PR changes the type of LLVM attribute references from `&'ll Attribute` to `Attribute<'ll>` with an invariant lifetime brand, to help uphold soundness of the FFI bindings.

There should be no change to compiler output.

---

After the value migration, this step is thankfully much smaller.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Nov 12, 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 PG-exploit-mitigations Project group: Exploit mitigations 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. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Nov 12, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

@rust-bors

rust-bors Bot commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f540591 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 Nov 12, 2026
@rust-bors

This comment has been minimized.

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

Rollup of 7 pull requests

Successful merges:

 - #165880 (Remove dead code for returning `BackendRepr::Memory` with `PassMode::Direct`)
 - #165565 (view-types: lower view types from HIR)
 - #165771 (tests: cover MSVC ThinLTO exported symbol preservation)
 - #165810 (reflection: reflect attributes from adts, fields, and variants)
 - #165855 (Update `sysinfo` version to `0.40.3`)
 - #165861 (cg_llvm: Use an invariant lifetime brand for LLVM attributes)
 - #165872 (Some attribute related cleanups)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

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

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

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

rust-bors Bot commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

💔 Test for ca08246 failed: CI. Failed job:

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

rust-bors Bot commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved due to being closed.

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 PG-exploit-mitigations Project group: Exploit mitigations 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. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. 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.

10 participants