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 12 pull requests #138866

Merged
merged 31 commits into from
Mar 24, 2025
Merged

Rollup of 12 pull requests #138866

merged 31 commits into from
Mar 24, 2025

Conversation

compiler-errors
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

mu001999 and others added 30 commits January 25, 2025 14:25
- Events are going to become quite important for Networking, so needed
  owned abstractions.
- Switch to OwnedEvent abstraction for Exit boot services event.

Signed-off-by: Ayush Singh <[email protected]>
In rust-lang#108326, `read_buf` was implemented for a variety of types, but SGX
was saved for later. Update a test from then, now that rust-lang#137355
implemented it for SGX types.
- Since there is no direct mkdir in UEFI, first check if a file/dir with
  same path exists and then create the directory.

Signed-off-by: Ayush Singh <[email protected]>
As an unstable print request.
- Document test intent to check for `-Whelp` suggestion if
  `--print=lints` was specified.
- Move this test under `tests/ui/print-request/` and rename it to
  `print-lints-help.rs` to better reflect what it is checking.
…imulacrum

Remove unused trait BoundedSize

Detected by rust-lang#128637

The usage of this trait is removed in rust-lang#135104

r? `@the8472`
uefi: Add OwnedEvent abstraction

- Events are going to become quite important for Networking, so needed owned abstractions.
- Switch to OwnedEvent abstraction for Exit boot services event.

cc ````@nicholasbishop````
…eGomez

rustdoc: Gate unstable `doc(cfg())` predicates

Fixes rust-lang#138113

Since the extraction process treats `cfg(true)` as having no cfg attribute, we have to do the gating during parsing; so we remove the unused `features` arg from `Cfg::matches`
…-errors

Add test to ensure no index out of bounds panic (rust-lang#135474)

Adds test for rust-lang#135474
…-Simulacrum

Add MIR pre-codegen tests to track rust-lang#138544

I don't know how best to fix the problem yet, but wanted to check in some tests to demonstrate it and make sure that they get updated to keep it fixed if anyone does fix it 🙂

No code changes; just the tests for rust-lang#138544.
…orkingjubilee

Update test for SGX now implementing `read_buf`

In rust-lang#108326, `read_buf` was implemented for a variety of types, but SGX was saved for later. Update a test from then, now that rust-lang#137355 implemented it for SGX types.

cc ````@jethrogb````
…es, r=Urgau

Add unstable `--print=supported-crate-types` option

MCP: rust-lang/compiler-team#836
Tracking issue: rust-lang#138640

### Test coverage

Two tests:

1. `tests/ui/print-request/stability.rs` to check that `--print=supported-crate-types` is `-Zunstable-options`-gated
2. `tests/ui/print-request/supported-crate-types.rs` is added as a basic smoke test. Observe that the compiler stdout corresponds to the below *Example output* section (e.g. `proc-macro` is unsupported on `wasm32-unknown-unknown` currently).

### Example output

<details>
<summary>For `x86_64-unknown-linux-gnu`</summary>

Notice the presence of `{c,}dylib` and `proc-macro`:
```
bin
cdylib
dylib
lib
proc-macro
rlib
staticlib
```
</details>

<details>
<summary>For `wasm32-unknown-unknown`</summary>

Notice the absence of `dylib` and `proc-macro`:
```
bin
cdylib
lib
rlib
staticlib
```
</details>

<details>
<summary>For `x86_64-unknown-linux-musl`</summary>

Notice the absence of `{c,}dylib` but presence of `proc-macro`:
```
bin
lib
proc-macro
rlib
staticlib
```
</details>

### Documentation

I added an entry in the unstable book's print request section to document this `supported-crate-types` print request.

### Unresolved questions

- [ ] (Name bikeshedding) is `supported-crate-types` a good name for the print request? I'm inclined to say it's good enough for an unstable print request, but may be worth revisiting at stabilization time.

### Stability

This print request being added is *unstable* in this PR. A separate stabilization PR following the usual compiler flag stabilization procedure should be filed for stabilization after some baking time.

### Review remarks

Best reviewed commit-by-commit.

r? compiler
std: uefi: fs: Implement mkdir

- Since there is no direct mkdir in UEFI, first check if a file/dir with same path exists and then create the directory.

cc `@dvdhrm` `@nicholasbishop`
…nfigtoml, r=TaKO8Ki

doc: rename reference #create-a-configtoml to #create-a-bootstraptoml

rust-lang/rustc-dev-guide@e4ddc21 This commit renamed `config.toml` to `bootstrap.toml`.
…compiler-errors

Fix ICE rust-lang#138415 for invalid extern function body

Fixes rust-lang#138415
…r-ozkan

Say which test failed the `COMPILETEST_REQUIRE_ALL_LLVM_COMPONENTS` assertion

Closes rust-lang#138857.

This is of course a spot fix. The general problem requires reworking compiletest directive handling's diagnostics logic.
@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-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 Mar 23, 2025
@compiler-errors
Copy link
Member Author

@bors r+ rollup=never p=10

@bors
Copy link
Contributor

bors commented Mar 23, 2025

📌 Commit 045a1c7 has been approved by compiler-errors

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 Mar 23, 2025
@bors
Copy link
Contributor

bors commented Mar 23, 2025

⌛ Testing commit 045a1c7 with merge 2120459...

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 23, 2025
…mpiler-errors

Rollup of 12 pull requests

Successful merges:

 - rust-lang#136040 (Remove unused trait BoundedSize)
 - rust-lang#138236 (uefi: Add OwnedEvent abstraction)
 - rust-lang#138293 (rustdoc: Gate unstable `doc(cfg())` predicates)
 - rust-lang#138509 (Add test to ensure no index out of bounds panic (rust-lang#135474))
 - rust-lang#138545 (Add MIR pre-codegen tests to track rust-lang#138544)
 - rust-lang#138631 (Update test for SGX now implementing `read_buf`)
 - rust-lang#138641 (Add unstable `--print=supported-crate-types` option)
 - rust-lang#138667 (std: uefi: fs: Implement mkdir)
 - rust-lang#138849 (doc: rename reference #create-a-configtoml to #create-a-bootstraptoml)
 - rust-lang#138854 (Fix ICE rust-lang#138415 for invalid extern function body)
 - rust-lang#138858 (Say which test failed the `COMPILETEST_REQUIRE_ALL_LLVM_COMPONENTS` assertion)
 - rust-lang#138861 (Tweak type flags, fix missing flags from coroutine kind ty)

Failed merges:

 - rust-lang#138755 ([rustdoc] Remove duplicated loop when computing doc cfgs)

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

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

Click to see the possible cause of the failure (guessed by this bot)
---- [coverage-run] tests\coverage\async2.rs stdout ----

error: auxiliary build of "D:\\a\\rust\\rust\\tests\\coverage\\auxiliary\\executor.rs" failed to compile: 
status: exit code: 1
command: PATH="D:\a\rust\rust\build\x86_64-pc-windows-msvc\stage2\bin;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\bin\HostX64\x64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\bin\HostX64\x64;D:\a\rust\rust\build\x86_64-pc-windows-msvc\stage0-bootstrap-tools\x86_64-pc-windows-msvc\release\deps;D:\a\rust\rust\build\x86_64-pc-windows-msvc\stage0\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\runneradmin\bin;D:\a\rust\rust\ninja;D:\a\rust\rust\sccache;C:\Program Files\MongoDB\Server\7.0\bin;C:\vcpkg;C:\tools\zstd;C:\hostedtoolcache\windows\stack\3.3.1\x64;C:\cabal\bin;C:\ghcup\bin;C:\mingw64\bin;C:\Program Files\dotnet;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\R\R-4.4.2\bin\x64;C:\SeleniumWebDrivers\GeckoDriver;C:\SeleniumWebDrivers\EdgeDriver;C:\SeleniumWebDrivers\ChromeDriver;C:\Program Files (x86)\sbt\bin;C:\Program Files (x86)\GitHub CLI;C:\Program Files\Git\usr\bin;C:\Program Files (x86)\pipx_bin;C:\npm\prefix;C:\hostedtoolcache\windows\go\1.23.7\x64\bin;C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts;C:\hostedtoolcache\windows\Python\3.9.13\x64;C:\hostedtoolcache\windows\Ruby\3.3.7\x64\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\17.0.14-7\x64\bin;C:\Program Files\ImageMagick-7.1.1-Q16-HDRI;C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin;C:\ProgramData\kind;C:\ProgramData\Chocolatey\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\PowerShell\7;C:\Program Files\Microsoft\Web Platform Installer;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\150\Tools\Binn;C:\Program Files\dotnet;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files (x86)\WiX Toolset v3.14\bin;C:\Program Files\Microsoft SQL Server\130\DTS\Binn;C:\Program Files\Microsoft SQL Server\140\DTS\Binn;C:\Program Files\Microsoft SQL Server\150\DTS\Binn;C:\Program Files\Microsoft SQL Server\160\DTS\Binn;C:\ProgramData\chocolatey\lib\pulumi\tools\Pulumi\bin;C:\Program Files\CMake\bin;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.9\bin;C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\GitHub CLI;C:\tools\php;C:\Program Files (x86)\sbt\bin;C:\Program Files\Amazon\AWSCLIV2;C:\Program Files\Amazon\SessionManagerPlugin\bin;C:\Program Files\Amazon\AWSSAMCLI\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files\mongosh;C:\Program Files\LLVM\bin;C:\Program Files (x86)\LLVM\bin;C:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\bin\HostX64\x64" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\stage2\\bin\\rustc.exe" "D:\\a\\rust\\rust\\tests\\coverage\\auxiliary\\executor.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=C:\\Users\\runneradmin\\.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=D:\\a\\rust\\rust\\vendor" "--sysroot" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\stage2" "--target=x86_64-pc-windows-msvc" "--check-cfg" "cfg(test,FALSE)" "-Cinstrument-coverage" "-Copt-level=2" "-C" "prefer-dynamic" "--out-dir" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\test\\coverage\\async2.coverage-run\\auxiliary" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\native\\rust-test-helpers" "--edition=2021" "--crate-type" "lib" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\test\\coverage\\async2.coverage-run\\auxiliary"
stdout: none
--- stderr -------------------------------
error: couldn't create a temp dir: Access is denied. (os error 5) at path "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\rustcXoLqGR"

error: aborting due to 1 previous error
------------------------------------------


---
test result: FAILED. 90 passed; 1 failed; 4 ignored; 0 measured; 0 filtered out; finished in 9.64s

Some tests failed in compiletest suite=coverage mode=coverage-run host=x86_64-pc-windows-msvc target=x86_64-pc-windows-msvc
Build completed unsuccessfully in 1:31:54
make: *** [Makefile:113: ci-msvc-py] Error 1
  local time: Sun Mar 23 20:55:52 CUT 2025
  network time: Sun, 23 Mar 2025 20:55:53 GMT
##[error]Process completed with exit code 2.
Post job cleanup.
[command]"C:\Program Files\Git\bin\git.exe" version

@bors
Copy link
Contributor

bors commented Mar 23, 2025

💔 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 Mar 23, 2025
@compiler-errors
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 Mar 23, 2025
@bors
Copy link
Contributor

bors commented Mar 23, 2025

⌛ Testing commit 045a1c7 with merge 7290b04...

@bors
Copy link
Contributor

bors commented Mar 24, 2025

☀️ Test successful - checks-actions
Approved by: compiler-errors
Pushing 7290b04 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 24, 2025
@bors bors merged commit 7290b04 into rust-lang:master Mar 24, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 24, 2025
Copy link

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 aa8f0fd (parent) -> 7290b04 (this PR)

Test differences

Show 32 test diffs
  • [ui] tests/rustdoc-ui/doc-cfg-check-cfg.rs#cfg_empty (stage 2): [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/doc-cfg-check-cfg.rs#cfg_foo (stage 2): [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/doc-cfg-check-cfg.rs#no_check (stage 2): [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/doc-cfg-unstable.rs (stage 2): [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/doc-cfg-check-cfg.rs#cfg_empty (stage 1): [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/doc-cfg-check-cfg.rs#cfg_foo (stage 1): [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/doc-cfg-check-cfg.rs#no_check (stage 1): [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/doc-cfg-unstable.rs (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/fn/trait-fn-generic-mismatch.rs (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/print-request/print-lints-help.rs (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/print-request/stability.rs#supported_crate_types (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/print-request/supported-crate-types.rs#linux (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/print-request/supported-crate-types.rs#musl (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/print-request/supported-crate-types.rs#wasm (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/rustc-print-info-issue-138612.rs (stage 1): pass -> [missing] (J1)
  • [ui] tests/ui/type-alias-impl-trait/define_opaques_attr/invalid-extern-fn-body.rs (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/fn/trait-fn-generic-mismatch.rs (stage 2): [missing] -> pass (J2)
  • [ui] tests/ui/print-request/print-lints-help.rs (stage 2): [missing] -> pass (J2)
  • [ui] tests/ui/print-request/stability.rs#supported_crate_types (stage 2): [missing] -> pass (J2)
  • [ui] tests/ui/print-request/supported-crate-types.rs#linux (stage 2): [missing] -> pass (J2)
  • [ui] tests/ui/print-request/supported-crate-types.rs#musl (stage 2): [missing] -> pass (J2)
  • [ui] tests/ui/print-request/supported-crate-types.rs#wasm (stage 2): [missing] -> pass (J2)
  • [ui] tests/ui/rustc-print-info-issue-138612.rs (stage 2): pass -> [missing] (J2)
  • [ui] tests/ui/type-alias-impl-trait/define_opaques_attr/invalid-extern-fn-body.rs (stage 2): [missing] -> pass (J2)

Additionally, 8 doctest diffs were found. These are ignored, as they are noisy.

Job group index

  • J0: aarch64-apple, aarch64-gnu, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, x86_64-apple-1, x86_64-gnu, x86_64-gnu-llvm-18-1, x86_64-gnu-llvm-18-2, x86_64-gnu-llvm-19-1, x86_64-gnu-llvm-19-2, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1
  • J1: x86_64-gnu-llvm-18-3, x86_64-gnu-llvm-19-3
  • J2: aarch64-apple, aarch64-gnu, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-apple-2, x86_64-gnu, x86_64-gnu-llvm-18-1, x86_64-gnu-llvm-18-2, x86_64-gnu-llvm-19-1, x86_64-gnu-llvm-19-2, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#136040 Remove unused trait BoundedSize e16ed84e5f043398e0d91227bdc9d9ff9ba5ce45 (link)
#138236 uefi: Add OwnedEvent abstraction a14677a7d168b4f08b30be0809b825ea107761a8 (link)
#138293 rustdoc: Gate unstable doc(cfg()) predicates a3e5157e2c0853118997be21a5831f36b8bc5386 (link)
#138509 Add test to ensure no index out of bounds panic (#135474) ed30b303a27d8d82241e4a6caf1d5d50a64b6c61 (link)
#138545 Add MIR pre-codegen tests to track #138544 0ce76c25d87382047893c9d178160f4aa7d78de4 (link)
#138631 Update test for SGX now implementing read_buf 84326d74fbf1a714fdf5a57b95a1af17ae5320a0 (link)
#138641 Add unstable --print=supported-crate-types option 4d115f8278f1afbef60d43c3b36193657cb31bb7 (link)
#138667 std: uefi: fs: Implement mkdir f43d6471f0a6eed9615cbcc31fb7fe464242d30f (link)
#138849 doc: rename reference #create-a-configtoml to #create-a-boo… 8c40c50c3ca02f650e976b618671248fb4af0dbd (link)
#138854 Fix ICE #138415 for invalid extern function body 2a1ba1d5df8c09266ab28898ca6bcf67887ba099 (link)
#138858 Say which test failed the `COMPILETEST_REQUIRE_ALL_LLVM_COM… 00bf266ae46bfd51db42b927585c0cad209e945e (link)
#138861 Tweak type flags, fix missing flags from coroutine kind ty 6e3c7dfdbd50c7a300e8dd2a8e109f4cadf1a162 (link)

previous master: aa8f0fd716

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

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

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

Max RSS (memory usage)

Results (primary 1.6%, secondary -0.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)
1.6% [1.6%, 1.6%] 1
Regressions ❌
(secondary)
3.0% [2.8%, 3.2%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.6% [-2.6%, -2.5%] 3
All ❌✅ (primary) 1.6% [1.6%, 1.6%] 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: 775.713s -> 774.849s (-0.11%)
Artifact size: 365.52 MiB -> 365.54 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiletest Area: The compiletest test runner A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc 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-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. 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.