Skip to content

Conversation

matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Jun 12, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

chenyukang and others added 20 commits May 27, 2025 22:19
When a method is not present because of a trait bound not being met, and that trait bound is on a tuple, we check if making the tuple have no borrowed types makes the method to be found and highlight it if it does. This is a common problem for Bevy in particular and ORMs in general.
It corresponds 1:1 to the bootstrap team, and with the review preferences we shouldn't need it.
…rors,traviscross

Lint on fn pointers comparisons in external macros

This PR extends the recently stabilized `unpredictable_function_pointer_comparisons` lint ~~to also lint on `Option<{function pointer}>` and~~ as well as linting in external macros (as to catch `assert_eq!` and others).

```rust
assert_eq!(Some::<FnPtr>(func), Some(func as unsafe extern "C" fn()));
//~^ WARN function pointer comparisons

#[derive(PartialEq, Eq)]
struct A {
    f: fn(),
    //~^ WARN function pointer comparisons
}
```

Fixes rust-lang#134527
…st-mut, r=davidtwco

Suggest mut when possbile for temporary value dropped while borrowed

Fixes rust-lang#137486
…r-errors

resolve: Tweak `private_macro_use` lint to be compatible with upcoming macro prelude changes

Unblocks rust-lang#139493.
Zulip thread requesting help - [#t-compiler/help > Help requested for effects of rust-lang#139493](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/Help.20requested.20for.20effects.20of.20.23139493/with/514653911).

This PR by itself shouldn't cause any observable changes, its only observable effect is that the prelude changes from rust-lang#139493 will no longer cause regressions in tests like `tests/ui/imports/issue-119369.rs` or `tests/ui/extern/issue-80074.rs`.

This is achieved by moving the "is this thing in stdlib prelude" check from an early point (`fn process_macro_use_imports`) to a later point (`fn record_use_inner`), at which the stdlib prelude is already populated and can be inspected.
(The `is_builtin_macro` check is subsumed by the stdlib prelude check, all built-in macros go through the stdlib prelude anyway.)
Detect method not being present that is present in other tuple types

When a method is not present because of a trait bound not being met, and that trait bound is on a tuple, we check if making the tuple have no borrowed types makes the method to be found and highlight it if it does. This is a common problem for Bevy in particular and ORMs in general.

<img width="1166" alt="Screenshot 2025-06-04 at 10 38 24 AM" src="https://github.com/user-attachments/assets/d257c9ea-c2d7-42e7-8473-8b93aa54b8e0" />

Address rust-lang#141258. I believe that more combination of cases in the tuple types should be handled (like adding borrows and checking when a specific type needs to not be a borrow while the rest stay the same), but for now this handles the most common case.
…orkingjubilee

chore(doctest): Remove redundant blank lines

Remove redundant leading blank lines from doctests of [`iN::cast_unsigned`](https://doc.rust-lang.org/std/primitive.i32.html#method.cast_unsigned), [`slice::escape_ascii`](https://doc.rust-lang.org/std/primitive.slice.html#method.escape_ascii) and [`u8::escape_ascii`](https://doc.rust-lang.org/std/primitive.u8.html#method.escape_ascii).
…t, r=WaffleLapkin

Note when enum variants shadow an associated function

r? ``@WaffleLapkin``

Closes rust-lang#142263
…p, r=davidtwco

Remove bootstrap adhoc group

It corresponds 1:1 to the current bootstrap team, and with the new review preferences we shouldn't need it.

Discussed on Zulip.

r? ``@davidtwco``
…fleLapkin

Add myself (WaffleLapkin) to review rotation

`@bors` r+
…ease

Remove lower_arg_ty as all callers were passing `None`

r? ``@fmease`` or ``@BoxyUwU``

I think this is just leftover from other refactorings
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself 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 Jun 12, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jun 12, 2025

📌 Commit 7309c10 has been approved by matthiaskrgr

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

bors commented Jun 12, 2025

⌛ Testing commit 7309c10 with merge bb3a3c5...

@bors
Copy link
Collaborator

bors commented Jun 13, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing bb3a3c5 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 13, 2025
@bors bors merged commit bb3a3c5 into rust-lang:master Jun 13, 2025
1 check passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 13, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#134536 Lint on fn pointers comparisons in external macros 1879871878eb3d7bf7749818b5b411eb008d11a5 (link)
#141069 Suggest mut when possbile for temporary value dropped while… cb80c7600c5bd4483a633bb248f336c7066c4636 (link)
#141934 resolve: Tweak private_macro_use lint to be compatible wi… 37f361030d6fd8e2ca662bb1d958893867dcdcc8 (link)
#142034 Detect method not being present that is present in other tu… 6dcf8fe0c11e74a037dca13fe491c2e736f54529 (link)
#142402 chore(doctest): Remove redundant blank lines a32275d76386f69f248c4e48bef67f9c03b9678e (link)
#142406 Note when enum variants shadow an associated function 7e50ae830a148083541e0303e97d17f5e792823f (link)
#142407 Remove bootstrap adhoc group 08aa295f476e99792e692cbc3bd03174e5d34943 (link)
#142408 Add myself (WaffleLapkin) to review rotation dda00b54b798b400fd56671883f56e5f693e6c4c (link)
#142418 Remove lower_arg_ty as all callers were passing None 2f1ef32f5de806af813f3831c0574bfe91edce73 (link)

previous master: 573a015690

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 573a015 (parent) -> bb3a3c5 (this PR)

Test differences

Show 1824 test diffs

Stage 1

  • [ui] tests/ui/enum/dead-code-associated-function.rs: [missing] -> pass (J1)
  • [ui] tests/ui/methods/missing-bound-on-tuple.rs: [missing] -> pass (J1)
  • [ui] tests/ui/nll/sugg-mut-for-binding-issue-137486.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/enum/dead-code-associated-function.rs: [missing] -> pass (J0)
  • [ui] tests/ui/methods/missing-bound-on-tuple.rs: [missing] -> pass (J0)
  • [ui] tests/ui/nll/sugg-mut-for-binding-issue-137486.rs: [missing] -> pass (J0)

Additionally, 1818 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 bb3a3c530c23147a12ec7ec479e191571ccbe92b --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. dist-aarch64-linux: 5682.4s -> 8153.0s (43.5%)
  2. x86_64-apple-2: 6576.6s -> 3906.0s (-40.6%)
  3. dist-x86_64-msvc-alt: 8838.4s -> 7141.0s (-19.2%)
  4. x86_64-apple-1: 9029.2s -> 7365.6s (-18.4%)
  5. dist-various-1: 4917.7s -> 4200.4s (-14.6%)
  6. dist-aarch64-apple: 5936.3s -> 5101.4s (-14.1%)
  7. dist-x86_64-apple: 10934.9s -> 9724.6s (-11.1%)
  8. aarch64-apple: 5162.9s -> 4612.8s (-10.7%)
  9. i686-msvc-1: 9183.2s -> 9962.2s (8.5%)
  10. i686-gnu-2: 5875.8s -> 5382.7s (-8.4%)
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 (bb3a3c5): 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 (secondary 0.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)
9.2% [9.2%, 9.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-7.9% [-7.9%, -7.9%] 1
All ❌✅ (primary) - - 0

Cycles

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

Binary size

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

Bootstrap: 754.801s -> 755.435s (0.08%)
Artifact size: 372.21 MiB -> 372.24 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.