Skip to content

Rollup of 9 pull requests #143556

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Jul 7, 2025
Merged

Rollup of 9 pull requests #143556

merged 28 commits into from
Jul 7, 2025

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Jul 7, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

nxsaken and others added 28 commits June 30, 2025 17:37
Now that it only contains indexes, and no other information, a bitset
provides a more compact and simpler representation.
Fix some comments and related types and locals where it is obvious, e.g.
- bare_fn -> fn_ptr
- LifetimeBinderKind::BareFnType -> LifetimeBinderKind::FnPtrType

Co-authored-by: León Orell Valerian Liehr <[email protected]>
There is no reason to go through the complicated branch as it would
always return `self.len()` in this case. Also helps debug code somewhat
and I guess might make optimizations easier (although I haven't really a
sample to demonstrate this.)

ref. rust-lang#93743
Suggested by @chrisduerr
…r=workingjubilee

Align attr fixes

- Remove references to the superseded `repr(align)` syntax
- Allow the attribute on fn items in `extern` blocks
- Test attribute in combination with `async fn` and `dyn`

r? workingjubilee

Tracking issue: rust-lang#82232
`@rustbot` label A-attributes F-fn_align T-compiler
…_sub, r=ibraheemdev

Stabilize `mixed_integer_ops_unsigned_sub`

Closes rust-lang#126043.
…nszelmann

Port `#[path]` to the new attribute parsing infrastructure

Ports `#[path]` to the new attribute parsing infrastructure for rust-lang#131229 (comment)

This PR duplicates a change from rust-lang#143237
Draft until that one is merged
…aheemdev

Link to 2024 edition page for `!` fallback changes

Closes rust-lang#143207
…et, r=lqd

mbe: Change `unused_macro_rules` to a `DenseBitSet`

Now that it only contains indexes, and no other information, a bitset provides a more compact and simpler representation.

This builds on <rust-lang#143416>. Only the last commit is new.
Renamed retain_mut to retain on LinkedList as mentioned in the ACP

This is for proposal: rust-lang/libs-team#250

The original check-in (rust-lang#114136) contained both methods **retain** and **retain_mut**, which does not conform to rust-lang/libs-team#250 (comment).

I updated the retain documentation to specify **&mut e**, removed the **retain** method and renamed **retain_mut** to **retain** to conform to the request.

The pull request doesn't really contain much that is new, just removes the unwanted method to meet the requirements.

I've run the tests "library/alloc" on the code and no issues.

Hopefully I'm not stepping on the original author's toes. I just ran across a need for the method and wondered why it was unstable.
Remove duplicate word

Deleted a duplicated word to improve text clarity.

contains contains - contains
…mease

compiler: rename BareFn to FnPtr

At some point "BareFn" was the chosen name for a "bare" function, without the niceties of `~fn`, `&fn`, or a few other ways of writing a function type. However, at some point the syntax for a "bare function" and any other function diverged even more. We started calling them what they are: function pointers, denoted by their own syntax.

However, we never changed the *internal* name for these, as this divergence was very gradual. Personally, I have repeatedly searched for "FnPtr" and gotten confused until I find the name is BareFn, only to forget this until the next time, since I don't routinely interact with the higher-level AST and HIR. But even tools that interact with these internal types only touch on them in a few places, making a migration easy enough. Let's use a more intuitive and obvious name, as this 12+ year old name has little to do with current Rust.
…-zoom, r=jhpratt

lib: more eagerly return `self.len()` from `ceil_char_boundary`

There is no reason to go through the complicated branch as it would
always return `self.len()` in this case. Also helps debug code somewhat
and I guess might make optimizations easier (although I haven't really a
sample to demonstrate this.)

ref. rust-lang#93743
Suggested by `@chrisduerr`
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 7, 2025
@rustbot rustbot added 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 Jul 7, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Jul 7, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jul 7, 2025

📌 Commit 2992997 has been approved by jhpratt

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 Jul 7, 2025
@bors
Copy link
Collaborator

bors commented Jul 7, 2025

⌛ Testing commit 2992997 with merge 0d11be5...

@bors
Copy link
Collaborator

bors commented Jul 7, 2025

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing 0d11be5 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 7, 2025
@bors bors merged commit 0d11be5 into rust-lang:master Jul 7, 2025
12 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 7, 2025
@jhpratt jhpratt deleted the rollup-nid39y2 branch July 7, 2025 05:04
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#143206 Align attr fixes 9de30dfd93c2d328747737e9dd8a8c5a4d7905fa (link)
#143236 Stabilize mixed_integer_ops_unsigned_sub 7b06dfb28c5ff6bb5332dc603c5cdda506b00b41 (link)
#143344 Port #[path] to the new attribute parsing infrastructure 3d34a8d5d08622cc7dd55cf5e0719cda450aa825 (link)
#143359 Link to 2024 edition page for ! fallback changes 1bb8d0fea638e4f1eea276abd233f6189f5e7c98 (link)
#143456 mbe: Change unused_macro_rules to a DenseBitSet 0a425333cbb1500063781f26f92969d6527d89ba (link)
#143529 Renamed retain_mut to retain on LinkedList as mentioned in … 9a5b224ef61a4bf89b0160d32406890c9ebf1f2b (link)
#143535 Remove duplicate word a85a20c26c25d3706a613fd70bc60ab42998d542 (link)
#143544 compiler: rename BareFn to FnPtr fb1f0403b92d54af0811424a2532f2d47c4b8b6a (link)
#143552 lib: more eagerly return self.len() from `ceil_char_bound… 6eebd52fb00db89e76622be1a99f5f99a2621b3d (link)

previous master: ca98d4d4b3

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

Copy link
Contributor

github-actions bot commented Jul 7, 2025

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing ca98d4d (parent) -> 0d11be5 (this PR)

Test differences

Show 218 test diffs

Stage 1

  • errors::verify_ast_passes_bare_fn_invalid_safety_17: pass -> [missing] (J0)
  • errors::verify_ast_passes_fn_ptr_invalid_safety_17: [missing] -> pass (J0)
  • errors::verify_passes_align_attr_application_176: [missing] -> pass (J0)
  • [ui] tests/ui/attributes/fn-align-dyn.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/attributes/fn-align-dyn.rs: [missing] -> pass (J2)

Additionally, 213 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 0d11be5aabe0cd49609fff5fce57c4691a22fe55 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-apple-2: 3078.9s -> 5793.7s (88.2%)
  2. aarch64-apple: 3868.2s -> 4678.6s (20.9%)
  3. dist-apple-various: 5395.4s -> 6512.0s (20.7%)
  4. dist-s390x-linux: 4700.5s -> 5462.3s (16.2%)
  5. i686-gnu-2: 5476.4s -> 6299.0s (15.0%)
  6. i686-gnu-1: 7187.3s -> 8243.7s (14.7%)
  7. x86_64-rust-for-linux: 2596.5s -> 2951.2s (13.7%)
  8. x86_64-apple-1: 6182.1s -> 7001.1s (13.2%)
  9. x86_64-gnu-tools: 3264.7s -> 3694.2s (13.2%)
  10. i686-gnu-nopt-1: 7283.5s -> 8131.6s (11.6%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (0d11be5): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary -0.6%, secondary 2.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.3% [2.2%, 2.4%] 2
Improvements ✅
(primary)
-0.6% [-0.6%, -0.6%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.6% [-0.6%, -0.6%] 1

Cycles

Results (secondary -2.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.7% [-2.8%, -2.6%] 2
All ❌✅ (primary) - - 0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 463.852s -> 462.394s (-0.31%)
Artifact size: 372.07 MiB -> 372.15 MiB (0.02%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) merged-by-bors This PR was explicitly merged by bors. 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-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.