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 10 pull requests #129978

Merged
merged 46 commits into from
Sep 5, 2024
Merged

Rollup of 10 pull requests #129978

merged 46 commits into from
Sep 5, 2024

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

notriddle and others added 30 commits August 20, 2024 16:27
This commit adds the headers for the top level documentation to
rustdoc's existing table of contents, along with associated items.

It only show two levels of headers. Going further would require the
sidebar to be wider, and that seems unnecessary (the crates that
have manually-built TOCs usually don't need deeply nested headers).
The main `arbitrary_self_types` feature gate will shortly be reused for
a new version of arbitrary self types which we are amending per [this
RFC](https://github.com/rust-lang/rfcs/blob/master/text/3519-arbitrary-self-types-v2.md).
The main amendments are:

* _do_ support `self` types which can't safely implement `Deref`
* do _not_ support generic `self` types
* do _not_ support raw pointers as `self` types.

This PR relates to the last of those bullet points: this strips pointer
support from the current `arbitrary_self_types` feature.
We expect this to cause some amount of breakage for crates using this
unstable feature to allow raw pointer self types. If that's the case, we
want to know about it, and we want crate authors to know of the upcoming
changes.

For now, this can be resolved by adding the new
`arbitrary_self_types_pointers` feature to such crates. If we determine
that use of raw pointers as self types is common, then we may maintain
that as an unstable feature even if we come to stabilize the rest of the
`arbitrary_self_types` support in future. If we don't hear that this PR
is causing breakage, then perhaps we don't need it at all, even behind
an unstable feature gate.

[Tracking issue](rust-lang#44874)

This is [step 4 of the plan outlined here](rust-lang#44874 (comment))
Apparently tools like `rustfmt` require it in order to find the right
`librustc_driver.so` without extra tweaks.

Signed-off-by: Miguel Ojeda <[email protected]>
Signed-off-by: Miguel Ojeda <[email protected]>
This change will also remove the current warnings in the build due to
`rustfmt` not being available (for `bindgen` output):

    error: 'rustfmt' is not installed for the custom toolchain 'local'.
    note: this is a custom toolchain, which cannot use `rustup component add`
    help: if you built this toolchain from source, and used `rustup toolchain link`, then you may be able to build the component with `x.py`
    Failed to run rustfmt: Internal rustfmt error (non-fatal, continuing)

Signed-off-by: Miguel Ojeda <[email protected]>
This particular target does not expand into much code, so it is a good
first candidate to see if we could keep this in the CI.

Signed-off-by: Miguel Ojeda <[email protected]>
It will make it easier to add more in the future.

Signed-off-by: Miguel Ojeda <[email protected]>
…layout

Additionally teach compiletest to ignore tests that rely on deterministic layout.
Tests themselves aren't built with randomization but they can still observe
slight changes in std or rustc
Per the `waker_getters` FCP:
rust-lang#96992 (comment)

Docs largely copied from `RawWaker::new`.
@rustbot rustbot added 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-infra Relevant to the infrastructure 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 Sep 5, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=13

@bors
Copy link
Contributor

bors commented Sep 5, 2024

📌 Commit 3190521 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 Sep 5, 2024
@bors
Copy link
Contributor

bors commented Sep 5, 2024

⌛ Testing commit 3190521 with merge 18237ce...

bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 5, 2024
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#101339 (enable -Zrandomize-layout in debug CI builds )
 - rust-lang#120736 (rustdoc: add header map to the table of contents)
 - rust-lang#127021 (Add target support for RTEMS Arm)
 - rust-lang#128928 (CI: rfl: add more tools and steps)
 - rust-lang#129584 (warn the user if the upstream master branch is old)
 - rust-lang#129664 (Arbitrary self types v2: pointers feature gate.)
 - rust-lang#129752 (Make supertrait and implied predicates queries defaulted)
 - rust-lang#129918 (Update docs of `missing_abi` lint)
 - rust-lang#129919 (Stabilize `waker_getters`)
 - rust-lang#129925 (remove deprecated option `rust.split-debuginfo`)

Failed merges:

 - rust-lang#129789 (rustdoc: use strategic boxing to shrink `clean::Item`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-msvc-ext failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] miri test:false 4.419
error: failed to remove file `C:\a\rust\rust\build\x86_64-pc-windows-msvc\stage1-tools\x86_64-pc-windows-msvc\release\miri.exe`

Caused by:
  Access is denied. (os error 5)
Command has failed. Rerun with -v to see more details.
  local time: Thu, Sep  5, 2024  4:18:44 AM
  network time: Thu, 05 Sep 2024 04:18:44 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

@bors
Copy link
Contributor

bors commented Sep 5, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 5, 2024
@matthiaskrgr
Copy link
Member Author

@bors retry

@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 Sep 5, 2024
@bors
Copy link
Contributor

bors commented Sep 5, 2024

⌛ Testing commit 3190521 with merge eb33b43...

@bors
Copy link
Contributor

bors commented Sep 5, 2024

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

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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#101339 enable -Zrandomize-layout in debug CI builds 65c96e10b16ddb7cd7a961c7e3b5b3646190d886 (link)
#120736 rustdoc: add header map to the table of contents e0decced28f7c6ce7f87c86d9bb8a53a910a1c8a (link)
#127021 Add target support for RTEMS Arm 2bf4f38aa469b1b70c8d88c498ace5dd71124bec (link)
#128928 CI: rfl: add more tools and steps 55e2f411659d27d4f290b15fc70a2c617d2c94d8 (link)
#129584 warn the user if the upstream master branch is old 35984a5988ccaf681449ee005497e30b200a016b (link)
#129664 Arbitrary self types v2: pointers feature gate. aa3281afe4333f7de93a1fc7eddd0c1aad42564d (link)
#129752 Make supertrait and implied predicates queries defaulted 3dc8fe75487c6e491e399d8c27fa55126b5e42d5 (link)
#129918 Update docs of missing_abi lint 9f2f29f6a0c3df5a48cbb1a5f48e16f87a51dffc (link)
#129919 Stabilize waker_getters b385528d4f2959763b9ffce8472188dd1b04db51 (link)
#129925 remove deprecated option rust.split-debuginfo 7f8cad02b324c48b12107e007b1d22bacbc98ce7 (link)

previous master: 009e73825a

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 (eb33b43): comparison URL.

Overall result: ❌✅ regressions and improvements - BENCHMARK(S) FAILED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

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

❗ ❗ ❗ ❗ ❗
Warning ⚠️: The following benchmark(s) failed to build:

  • rustc

❗ ❗ ❗ ❗ ❗

cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.4% [0.3%, 0.5%] 4
Regressions ❌
(secondary)
0.4% [0.4%, 0.4%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.1% [-3.1%, -3.1%] 1
All ❌✅ (primary) 0.4% [0.3%, 0.5%] 4

Max RSS (memory usage)

Results (secondary -1.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)
1.0% [1.0%, 1.0%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.0% [-4.0%, -4.0%] 1
All ❌✅ (primary) - - 0

Cycles

Results (secondary 2.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)
- - 0
Regressions ❌
(secondary)
3.6% [2.3%, 7.2%] 8
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.0% [-4.0%, -4.0%] 1
All ❌✅ (primary) - - 0

Binary size

Results (primary -0.3%, secondary -0.0%)

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)
-0.3% [-1.7%, -0.0%] 67
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 6
All ❌✅ (primary) -0.3% [-1.7%, -0.0%] 67

Bootstrap: missing data
Artifact size: 340.60 MiB -> 340.67 MiB (0.02%)

@rustbot rustbot added the perf-regression Performance regression. label Sep 5, 2024
@lqd
Copy link
Member

lqd commented Sep 5, 2024

libstdc++ 7 vs 8 causing bootstrap to fail benchmarking

last message in https://perf.rust-lang.org/status.html is

Following targets supported from the stage0 compiler, please remove them from STAGE0_MISSING_TARGETS list.
         armv7-rtems-eabihf

@rylev
Copy link
Member

rylev commented Sep 9, 2024

The regressions here are small enough that I don't think it's worth investigating further.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Sep 9, 2024
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. O-unix Operating system: Unix-like 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-infra Relevant to the infrastructure 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.