Skip to content

Conversation

@Zalathar
Copy link
Member

@Zalathar Zalathar commented Nov 10, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

aDotInTheVoid and others added 26 commits October 17, 2025 22:09
It belongs here, because it moves from a `rustc_*` type to a
`rustdoc_json_types` type.
This step consists of two changes:

- Renaming `self` to `props`
- Inserting temporary comments to preserve line breaks

This will make it easier to verify that the main migration commit preserves all
of the lines being migrated.
Use `git diff --color-moved --color-moved-ws=ignore-all-space` (or similar) to
verify that the directive-processing lines have been moved without changes.
More robust stack protector testing

I've added some tests related to the stack protector. These tests were originally in the LLVM stack protector test project.
These tests were written for the "Stabilize stack-protector" proposal, and therefore removed the "stack-protector=basic" test option, as this stack protector was considered ineffective in Rust.
For the proposal, see: rust-lang#146369
For the discussion, see zulip: https://rust-lang.zulipchat.com/#narrow/channel/233931-t-compiler.2Fmajor-changes/topic/Proposal.20for.20Adapt.20Stack.20Protector.20for.20Ru.E2.80.A6.20compiler-team.23841

r? ``@wesleywiser`` (feel free to reassign)
cc ``@nikic,`` ``@rcvalle,`` ``@davidtwco,`` ``@arielb1,`` ``@Darksonn,`` ``@Noratrieb,`` ``@SparrowLii``
Rename `*exact_{div,shr,shl}` to `*{div,shr,shl}_exact`

Related to rust-lang#144336 and rust-lang#139911, see rust-lang#139911 (comment). I haven't touched the `exact_div`, `exact_udiv` and `exact_sdiv` intrinsics. Let me know if I should.
rustdoc-json: move `target` to `json::conversions`

It belongs here, because it moves from a `rustc_*` type to a `rustdoc_json_types` type.

r? ``@GuillaumeGomez``
compiletest: Migrate `TestProps` directive handling to a system of named handlers

One of the very silly things about directive processing in compiletest is that for each directive in the test file, we proceed to check it against dozens of different directive names in linear sequence, without any kind of indexed lookup, and without any early-exit after a known directive name is found (unless a panic occurs).

This PR is a big step away from that, by taking the `iter_directives` loop in `TestProps::load_from` and making all of its directive processing dispatch to a hashtable of individual name-specific handlers instead.

---

The handler system is set up in a way that should allow us to add capabilities or change the implementation as needed, without having to mass-modify the existing handlers (e.g. this is why the `handler` and `multi_handler` functions are used).

---

This PR is focused on mass-migrating all of the `TestProps` directive processing into handlers. Most of the resulting handlers could obviously be simplified further (e.g. by avoiding the redundant name checks that were needed in the pre-migration code), but I've avoided doing any such simplifications in this PR to keep its scope limited and make reviewing easier.

The patches in this PR have been arranged so that the main migration can be inspected with `git diff --color-moved --color-moved-ws=ignore-all-space` to verify that it moves all of the relevant lines intact, without modifying or discarding any of them.

r? jieyouxu
rustc_target: hide TargetOptions::vendor

Discussed in rust-lang#148531 (comment).

r? ``@bjorn3``
…=BoxyUwU

IAT: Reinstate early bailout

Apparently, some people are already using IATs in their projects and get blocked by rust-lang#142006 (comment) (cc dupes rust-lang#143952 & rust-lang#148535). Since the (temporary) fix is so trivial, let's just do it.

Addresses rust-lang#142006 (comment).

cc ``@luissantosHCIT`` (rust-lang#148535).

r? ``@BoxyUwU``
Fix a typo in the documentation for the strict_shr function

fix: rust-lang#148761
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 10, 2025
@rustbot rustbot added 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. rollup A PR which is a rollup labels Nov 10, 2025
@Zalathar
Copy link
Member Author

Rollup of everything, replacing #148774.

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Nov 10, 2025

📌 Commit 0e379fc has been approved by Zalathar

It is now in the queue for this repository.

@bors bors 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 10, 2025
@Zalathar Zalathar closed this Nov 10, 2025
@Zalathar Zalathar deleted the rollup-ohvue9l branch November 10, 2025 13:08
@Zalathar
Copy link
Member Author

A bunch of other stuff was approved while the tree was closed, making this rollup too stale.

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-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc 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.

10 participants