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 8 pull requests #134582

Merged
merged 18 commits into from
Dec 20, 2024
Merged

Rollup of 8 pull requests #134582

merged 18 commits into from
Dec 20, 2024

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

the8472 and others added 18 commits December 20, 2024 13:37
Instead use dcx.abort_if_error() or guar.raise_fatal() instead. These
guarantee that an error actually happened previously and thus we don't
silently abort.
This was missed when replacing the usage of LLVM for generating import
libraries.
This commit splits the `#[rustc_deny_explicit_impl(implement_via_object = ...)]` attribute
into two attributes `#[rustc_deny_explicit_impl]` and `#[rustc_do_not_implement_via_object]`.

This allows us to have special traits that can have user-defined impls but do not have the
automatic trait impl for trait objects (`impl Trait for dyn Trait`).
This aligns the comment with reality and with IterMut. Also dangling does not seem to take any arguments.
[tiny] fix missing ns units in bootstrap's benchmark rendering
mri: add track_caller to thread spawning methods for better backtraces

This is in preparation for rust-lang/miri#4093
…ompiler-errors

Reduce the amount of explicit FatalError.raise()

Instead use dcx.abort_if_error() or guar.raise_fatal() instead. These guarantee that an error actually happened previously and thus we don't silently abort.
…eyouxu

tests/codegen/asm: Remove uses of rustc_attrs and lang_items features by using minicore

Similar to rust-lang#134385 (for tests/ui/asm) and rust-lang#134436 (for tests/assembly/asm), but for tests/codegen/asm.

r? jieyouxu
…ler-errors

Remove some dead code around import library generation

This was missed when replacing the usage of LLVM for generating import libraries.

``@bors`` rollup
remove reference to dangling from slice::Iter

This aligns the comment with reality and with IterMut. Also dangling does not seem to take any arguments.
… r=compiler-errors

unimplement `PointerLike` for trait objects

Values of type `dyn* PointerLike` or `dyn PointerLike` are not pointer-like so these types should not implement `PointerLike`.

After rust-lang#133226, `PointerLike` allows user implementations, so we can't just mark it with `#[rustc_deny_explicit_impl(implement_via_object = false)]`. Instead, this PR splits the `#[rustc_deny_explicit_impl(implement_via_object = ...)]` attribute into two separate attributes `#[rustc_deny_explicit_impl]` and `#[rustc_do_not_implement_via_object]` so that we opt out of the automatic `impl PointerLike for dyn PointerLike` and still allow user implementations.

For traits that are marked with `#[do_not_implement_via_object]` but not `#[rustc_deny_explicit_impl]` I've also made it possible to add a manual `impl Trait for dyn Trait`. There is no immediate need for this, but it was one line to implement and seems nice to have.

fixes rust-lang#134545
fixes rust-lang#134543

r? `@compiler-errors`
…er-errors

next-solver: disable unnecessary hack

the new solver never constrains inference variables to normalizeable aliases, so this is no longer necessary.
@rustbot rustbot added O-unix Operating system: Unix-like O-windows Operating system: Windows 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 Dec 20, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Contributor

bors commented Dec 20, 2024

📌 Commit 10a7405 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 Dec 20, 2024
@bors
Copy link
Contributor

bors commented Dec 20, 2024

⌛ Testing commit 10a7405 with merge 5f23ef7...

@bors
Copy link
Contributor

bors commented Dec 20, 2024

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 20, 2024
@bors bors merged commit 5f23ef7 into rust-lang:master Dec 20, 2024
7 checks passed
@rustbot rustbot added this to the 1.85.0 milestone Dec 20, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#134556 [tiny] fix missing ns units in bootstrap's benchmark render… f06d357e871cdf77c14a6bdda1b5fbd207355cf3 (link)
#134560 mri: add track_caller to thread spawning methods for better… 8a794b5e0192f6b063727282624ac01ae4253625 (link)
#134561 Reduce the amount of explicit FatalError.raise() 37848970853bdea20b76ff214c7856728a62ec0f (link)
#134562 tests/codegen/asm: Remove uses of rustc_attrs and lang_item… 765d4fc77298fa41e458a14d1a3b69d1df4957d2 (link)
#134567 Remove some dead code around import library generation 2d6dc2af6612985316c98207df3012f46acf66e4 (link)
#134570 remove reference to dangling from slice::Iter 0d0106350cfa818ed13f12267fa3322ca8d4d9e3 (link)
#134573 unimplement PointerLike for trait objects 85bf93ae595c67ab979063ed7d137d26c1b3a9cd (link)
#134574 next-solver: disable unnecessary hack 55fe65c195e68cf79ee7416e72f07968767f7606 (link)

previous master: bad2aa4721

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 (5f23ef7): 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.2%, 0.2%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [0.2%, 0.2%] 6

Max RSS (memory usage)

Results (primary -3.4%, secondary -2.5%)

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)
-3.4% [-3.4%, -3.4%] 1
Improvements ✅
(secondary)
-2.5% [-4.1%, -0.9%] 2
All ❌✅ (primary) -3.4% [-3.4%, -3.4%] 1

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: 768.054s -> 767.681s (-0.05%)
Artifact size: 330.33 MiB -> 330.22 MiB (-0.03%)

@rustbot rustbot added the perf-regression Performance regression. label Dec 21, 2024
@Kobzol
Copy link
Contributor

Kobzol commented Dec 23, 2024

Tiny regression on a single benchmark, I don't think that it's worthy to investigate further.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Dec 23, 2024
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. O-unix Operating system: Unix-like O-windows Operating system: Windows 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-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.