Skip to content
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

Rollup of 6 pull requests #137611

Merged
merged 14 commits into from
Feb 25, 2025
Merged

Rollup of 6 pull requests #137611

merged 14 commits into from
Feb 25, 2025

Conversation

fmease
Copy link
Member

@fmease fmease commented Feb 25, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

onur-ozkan and others added 14 commits February 23, 2025 08:24
Signed-off-by: onur-ozkan <[email protected]>
Includes `f16` symbols on MIPS [1], updates for `libm` [2], and
reapplies the patch that drops the `public_test_deps!` macro [3].

[1]: rust-lang/compiler-builtins#762
[2]: rust-lang/compiler-builtins#765
[3]: rust-lang/compiler-builtins#766
…pl, r=lcnr

Don't require method impls for methods with `Self:Sized` bounds for impls for unsized types

Similarly to how rust-lang#112319 doesn't require specifying associated types with `Self: Sized` bounds on `dyn Trait`, we now don't require assoc items with `Self: Sized` bounds to be in impls of for unsized types.

Additionally we lint assoc items with `Self: Sized` bounds that are in such impls:

```rust
trait Foo {
    fn foo() where Self: Sized;
}

impl Foo for () {
    fn foo() {}
}

impl Foo for i32 {}
//~^ ERROR: not all trait items implemented, missing: `foo`

impl Foo for dyn std::fmt::Debug {}

#[deny(dead_code)]
impl Foo for dyn std::fmt::Display {
    fn foo() {}
    //~^ ERROR this item cannot be used as its where bounds are not satisfied
}
```

Note that this works with the same `Self: Sized` specific logic we already have for `dyn Trait`, so no new capabilities like avoiding assoc items with `Self: Copy` bounds on impls for `String` or such are added here. Specifying `where ConcreteType: Sized` in a trait and implementing the trait for `ConcreteType` also does not work, it *must* be exactly `Self: Sized`.
…act, r=Noratrieb

Use `as_chunks` in `analyze_source_file_sse2`

Follow-up to rust-lang#136460. Uses a slightly cleaner method of iterating over chunks of bytes.
downgrade bootstrap `cc`

Current `cc` version causing bootstrap to fail on custom targets. See rust-lang/cc-rs#1317 for more context.

Fixes (after beta and stable backports): rust-lang#137064 and rust-lang#135271
Update `compiler-builtins` to 0.1.148

Includes `f16` symbols on MIPS [1], updates for `libm` [2], and reapplies the patch that drops the `public_test_deps!` macro [3].

[1]: rust-lang/compiler-builtins#762
[2]: rust-lang/compiler-builtins#765
[3]: rust-lang/compiler-builtins#766

try-job: aarch64-gnu
try-job: i686-mingw-1
try-job: i686-mingw-2
try-job: test-various
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: x86_64-rust-for-linux
…bzol

use stage 2 on cargo and clippy tests when possible

Follow-up for rust-lang#137215.

For more context, read the discussion starting from rust-lang#137215 (comment).

r? Kobzol (Feel free to re-r if you are not available).
Revert accidental cargo submodule update

This was accidentally introduced in rust-lang#135726
@rustbot rustbot added 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. 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. rollup A PR which is a rollup labels Feb 25, 2025
@fmease
Copy link
Member Author

fmease commented Feb 25, 2025

@bors r+ rollup=never p=11

p=11 because this includes rollup=maybe PR #137597 of p=10

@bors
Copy link
Contributor

bors commented Feb 25, 2025

📌 Commit fb9ae4c has been approved by fmease

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 Feb 25, 2025
@bors
Copy link
Contributor

bors commented Feb 25, 2025

⌛ Testing commit fb9ae4c with merge 4ecd70ddd1039a3954056c1071e40278048476fa...

@fmease
Copy link
Member Author

fmease commented Feb 25, 2025

runaway o.O?

@tgross35
Copy link
Contributor

tgross35 commented Feb 25, 2025

Looks like it's allllllllllllmost done (doing the dist artifacts now). But yeah, maybe it got stuck for a bit?

@bors
Copy link
Contributor

bors commented Feb 25, 2025

☀️ Test successful - checks-actions
Approved by: fmease
Pushing 4ecd70d to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Feb 25, 2025
@bors bors merged commit 4ecd70d into rust-lang:master Feb 25, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Feb 25, 2025
@fmease fmease deleted the rollup-ln673ux branch February 25, 2025 19:34
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#135480 Don't require method impls for methods with Self:Sized bo… a663d711394e973fe1d000e935ffe1be7618a3be (link)
#137360 Use as_chunks in analyze_source_file_sse2 c60539b37b0766f4d7efefe04453405235dd5175 (link)
#137460 downgrade bootstrap cc 1656f0371e2b5ddb109a1829dab3bbd3fbd1d7cd (link)
#137515 Update compiler-builtins to 0.1.148 2aaf760e67c84518741da552875498297b98449e (link)
#137522 use stage 2 on cargo and clippy tests when possible b899204695aa845e8f7946c93b25a39d267953fb (link)
#137597 Revert accidental cargo submodule update a91e7a116e7ceb29c8c8868f82daa2127e2ca2a7 (link)

previous master: c51b9b6d52

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

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (4ecd70d): comparison URL.

Overall result: ❌ regressions - 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)
0.2% [0.1%, 0.3%] 14
Regressions ❌
(secondary)
0.2% [0.1%, 0.5%] 44
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [0.1%, 0.3%] 14

Max RSS (memory usage)

Results (primary 2.1%, secondary 2.3%)

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.1% [2.1%, 2.1%] 1
Regressions ❌
(secondary)
3.0% [2.1%, 4.3%] 8
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.1% [-3.1%, -3.1%] 1
All ❌✅ (primary) 2.1% [2.1%, 2.1%] 1

Cycles

Results (primary -5.9%)

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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-5.9% [-5.9%, -5.9%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -5.9% [-5.9%, -5.9%] 2

Binary size

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

Bootstrap: 771.585s -> 770.644s (-0.12%)
Artifact size: 362.02 MiB -> 361.94 MiB (-0.02%)

@rustbot rustbot added the perf-regression Performance regression. label Feb 25, 2025
@fmease
Copy link
Member Author

fmease commented Feb 25, 2025

@Kobzol
Copy link
Contributor

Kobzol commented Feb 25, 2025

No, that affected only cycles and max RSS, and this was the first perf. run where the instability was resolved. The icount changes look real.

@fmease
Copy link
Member Author

fmease commented Feb 25, 2025

@rust-timer build a663d71

@rust-timer
Copy link
Collaborator

Queued a663d71 with parent c51b9b6, future comparison URL.
There are currently 0 preceding artifacts in the queue.
It will probably take at least ~1.2 hours until the benchmark run finishes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants