Skip to content

Rollup of 8 pull requests #141791

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 19 commits into from
May 31, 2025
Merged

Rollup of 8 pull requests #141791

merged 19 commits into from
May 31, 2025

Conversation

workingjubilee
Copy link
Member

@workingjubilee workingjubilee commented May 30, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

chenyukang and others added 19 commits May 16, 2025 12:40
this also cleans up two inconsistancies:
1. both doctests on the ::add methods were
   actually calling the const version.
2. on of the ::offset methods was missing
   a line of clarification.

part of rust-lang#139190
This change was requested in the btree_extract_if tracking issue:

rust-lang#70530 (comment)
Add Range parameter to `BTreeMap::extract_if` and `BTreeSet::extract_if`

This new parameter was requested in the btree_extract_if tracking issue:  rust-lang#70530 (comment)

I attempted to follow the style used by `Vec::extract_if`.

Before:

```rust
impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
    #[unstable(feature = "btree_extract_if", issue = "70530")]
    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where
        K: Ord,
        F: FnMut(&K, &mut V) -> bool;
}
```

After:

```rust
impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
    #[unstable(feature = "btree_extract_if", issue = "70530")]
    pub fn extract_if<F, R>(&mut self, range: R, pred: F) -> ExtractIf<'_, K, V, R, F, A>
    where
        K: Ord,
        R: RangeBounds<K>,
        F: FnMut(&K, &mut V) -> bool;
}
```

Related: rust-lang#70530

—

While I believe I have adjusted all of the necessary bits, as this is my first attempt to contribute to Rust, I may have overlooked something out of ignorance, but if you can point out any oversight, I shall attempt to remedy it.
…, r=wesleywiser

Fix the issue of typo of comma in arm parsing

Fixes rust-lang#140991

I also checked is it a '/', since it's near from ',' from keyboard.
…ngjubilee

Implement ((un)checked_)exact_div methods for integers

tracking issue: rust-lang#139911

I see that there might still be some bikeshedding to be done, so if people want changes to this implementation, I'm happy to make those. I did also see that there was a previous attempt at this PR (rust-lang#116632), but I'm not sure why it got closed.
…iser

mir-opt: Do not transform non-int type in match_branches

Fixes rust-lang#141378.

r? mir-opt
…39190, r=workingjubilee

core: begin deduplicating pointer docs

this also cleans up two inconsistancies:
1. both doctests on the ::add methods were actually calling the const version.
2. on of the ::offset methods was missing a line of clarification.

part of rust-lang#139190
…Kobzol

ci: use arm to calculate job matrix
…rcoieni

Increase timeout for new bors try builds

To sync it with [homu](https://github.com/rust-lang/homu/blob/master/cfg.production.toml#L34). Saw the timeout [here](rust-lang#138699 (comment)), it was set to only 4 hours for new bors.

r? ``@marcoieni``
…mes, r=compiler-errors

Fix spans for unsafe binders

closes rust-lang#141758

r? ``@compiler-errors``
@rustbot rustbot added 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. rollup A PR which is a rollup labels May 30, 2025
@workingjubilee
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented May 30, 2025

📌 Commit 955ebfc has been approved by workingjubilee

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

bors commented May 30, 2025

⌛ Testing commit 955ebfc with merge 0b00e68...

@bors
Copy link
Collaborator

bors commented May 31, 2025

☀️ Test successful - checks-actions
Approved by: workingjubilee
Pushing 0b00e68 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 31, 2025
@bors bors merged commit 0b00e68 into rust-lang:master May 31, 2025
10 checks passed
@rustbot rustbot added this to the 1.89.0 milestone May 31, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140825 Add Range parameter to BTreeMap::extract_if and `BTreeSet… 114d930ea754d338118b0ec0ba51bc2259b1a001 (link)
#141077 Fix the issue of typo of comma in arm parsing f10364b52511f36ad02d805bc858f387a4ad0262 (link)
#141237 Implement ((un)checked_)exact_div methods for integers 68974b65efb80d0a26bb2d8982eac509508816e5 (link)
#141494 mir-opt: Do not transform non-int type in match_branches 458c9b5ccf5e9aa91f0ccf50631ea4a3d4e26239 (link)
#141609 core: begin deduplicating pointer docs 090eab50d016bd07a2c4c4e2bfeb9aa91c57b256 (link)
#141768 ci: use arm to calculate job matrix 2a21d15f7efa93c85f3598ce96f3bf7bb9990c1f (link)
#141771 Increase timeout for new bors try builds a48e451f8a50545e54aef0a35147eede37b0fb3a (link)
#141781 Fix spans for unsafe binders 1dc13c9781d83f13c00dc1dda939ba8207476255 (link)

previous master: 70b3f4666e

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

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 70b3f46 (parent) -> 0b00e68 (this PR)

Test differences

Show 4998 test diffs

Stage 0

  • collections::btree::map::tests::test_extract_if::consumed_removing_some: [missing] -> pass (J1)

Stage 1

  • [ui] tests/ui/parser/match-arm-comma-typo-issue-140991.rs: [missing] -> pass (J0)
  • [ui] tests/ui/unsafe-binders/unused-lifetimes-2.rs: [missing] -> pass (J0)
  • [ui] tests/ui/unsafe-binders/unused-lifetimes.rs: [missing] -> pass (J0)
  • collections::btree::map::tests::test_extract_if::consumed_removing_some: [missing] -> pass (J3)

Stage 2

  • [ui] tests/ui/parser/match-arm-comma-typo-issue-140991.rs: [missing] -> pass (J2)
  • [ui] tests/ui/unsafe-binders/unused-lifetimes-2.rs: [missing] -> pass (J2)
  • [ui] tests/ui/unsafe-binders/unused-lifetimes.rs: [missing] -> pass (J2)

Additionally, 4990 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 0b00e6847b576656d80d7d1e845100fe1663ce0e --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: 4965.4s -> 6941.9s (39.8%)
  2. dist-apple-various: 7457.8s -> 8959.0s (20.1%)
  3. dist-aarch64-apple: 6340.1s -> 5626.3s (-11.3%)
  4. x86_64-msvc-2: 6745.1s -> 7451.8s (10.5%)
  5. x86_64-apple-1: 7386.1s -> 8147.8s (10.3%)
  6. dist-x86_64-apple: 11027.0s -> 10069.9s (-8.7%)
  7. dist-x86_64-illumos: 6111.5s -> 5661.7s (-7.4%)
  8. dist-aarch64-linux: 5672.6s -> 5338.9s (-5.9%)
  9. aarch64-apple: 5067.7s -> 5365.8s (5.9%)
  10. dist-powerpc64-linux: 5736.0s -> 5439.5s (-5.2%)
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.

@workingjubilee workingjubilee deleted the rollup-qnqicy9 branch May 31, 2025 03:05
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (0b00e68): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
2.9% [2.9%, 2.9%] 1
Regressions ❌
(secondary)
0.3% [0.3%, 0.3%] 1
Improvements ✅
(primary)
-1.6% [-1.6%, -1.6%] 1
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.3%] 2
All ❌✅ (primary) 0.7% [-1.6%, 2.9%] 2

Max RSS (memory usage)

Results (primary -0.1%, secondary -0.7%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
3.5% [1.4%, 5.7%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-3.8% [-5.3%, -2.3%] 2
Improvements ✅
(secondary)
-0.7% [-1.4%, -0.4%] 9
All ❌✅ (primary) -0.1% [-5.3%, 5.7%] 4

Cycles

Results (primary 2.6%, secondary -0.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
2.6% [2.6%, 2.6%] 1
Regressions ❌
(secondary)
1.1% [0.5%, 1.6%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.5% [-4.3%, -0.4%] 13
All ❌✅ (primary) 2.6% [2.6%, 2.6%] 1

Binary size

Results (primary 0.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.6% [0.0%, 1.1%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.6% [0.0%, 1.1%] 2

Bootstrap: 778.921s -> 777.559s (-0.17%)
Artifact size: 370.25 MiB -> 370.18 MiB (-0.02%)

@rustbot rustbot added the perf-regression Performance regression. label May 31, 2025
@Mark-Simulacrum Mark-Simulacrum added the perf-regression-triaged The performance regression has been triaged. label Jun 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.