Skip to content

Conversation

@matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Nov 20, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

ZuseZ4 and others added 21 commits November 19, 2025 00:17
The list of platforms for which file locks are tested is smaller than
the list of platforms that support it. Synchronize these here.

Link: https://github.com/rust-lang/rust/blob/07bdbaedc63094281483c40a88a1a8f2f8ffadc5/library/std/src/sys/fs/unix.rs#L1291-L1308
Rather than skipping the tests, make sure that they fail. This ensures
that if file locking support is added for more platforms in the future,
the tests don't wind up quietly skipped.
- The underlying file size is represented by file_size field. The size
  field is just the size of structure since it is a C DST.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Deleted lines are duplicates of the lines 38 & 39.
autodiff rlib handling

As I learned recently, we now apparently support rlib builds already in some cases.
With the last hint from saethlin this seems to now cover all cases. To be sure I'll add a few more testcases before I mark it as ready.

Once this PR lands, we should to the best of my knowledge, support autodiff in almost code locations, only vtable/dyn ptr remain unsupported for now.

r? ghost

closes: rust-lang#148856
closes: rust-lang#137520
Add missing trailing period to RustDoc for fn create_dir().

Documentation for other functions in the standard library RustDocs have a trailing period at the end of the first sentence, e.g. `create_dir_all()` and `create_buffered()` have the trailing period, but the first line of documentation for `fn create_dir()` lacks a trailing period. This PR adds the missing period.
…enton

fs: Run file lock tests on all platforms that support it

There are a number of platforms that support file locking but aren't getting tested. Synchronize the list and mark the tests `should_panic` otherwise, to make sure they get updated if more platforms add locking support.

The supported platform list comes from https://github.com/rust-lang/rust/blob/07bdbaedc63094281483c40a88a1a8f2f8ffadc5/library/std/src/sys/fs/unix.rs#L1291-L1308. Windows also supports file locks, all other platforms are unsupported.
…enton

sgx: avoid unnecessarily creating a slice

Cc ``@jethrogb`` -- no idea why this created a slice only to directly convert it back to a raw pointer, but we can avoid this and in fact make the entire function safe. I didn't change the function signature (it's still an `unsafe fn`) as I know nothing about the surrounding code.
…sDenton

std: sys: fs: uefi: Fix FileAttr size

- The underlying file size is represented by file_size field. The size field is just the size of structure since it is a C DST.
- Fixes bug created in rust-lang#148970

``@rustbot`` label +O-UEFI
Reject `async fn` in `const impl` during AST validation

closes rust-lang#149083

Fixes the ICE when using `async fn` inside `const impl` blocks by adding AST validation.

Currently, inherent `impl`s does not perform any checks to verify whether it contains `async fn` declarations. In this PR, I have modified the `visit_assoc_item` function to call `check_async_fn_in_const_trait_or_impl` within the `TraitOrImpl::Impl` case to handle this requirement. Additionally, this change has introduced three possible contexts for the corresponding error messages, so I have updated to properly distinguish between these different contexts when generating messages.

r? oli-obk
…, r=lqd

Fix platform supports docs tiny typo

This was noticed in rust-lang/blog.rust-lang.org#1641 (comment)

Thanks :)
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc O-SGX Target: SGX 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. labels Nov 20, 2025
@rustbot rustbot added the rollup A PR which is a rollup label Nov 20, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Nov 20, 2025

📌 Commit 739f941 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 Nov 20, 2025
@matthiaskrgr
Copy link
Member Author

@bors2 try jobs=test-various

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 20, 2025
Rollup of 9 pull requests

try-job: test-various
@rust-bors
Copy link

rust-bors bot commented Nov 20, 2025

☀️ Try build successful (CI)
Build commit: 752a473 (752a47364ced5333e735b18fd368632692a91bf1, parent: 7281a3bc4b89a010aed05528d648450feb8b69d3)

@bors
Copy link
Collaborator

bors commented Nov 20, 2025

⌛ Testing commit 739f941 with merge 5f7653d...

@bors
Copy link
Collaborator

bors commented Nov 21, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 5f7653d to main...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 21, 2025
@bors bors merged commit 5f7653d into rust-lang:main Nov 21, 2025
13 checks passed
@rustbot rustbot added this to the 1.93.0 milestone Nov 21, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#149033 autodiff rlib handling 68000b088d0c2b9134233fa81bd1d553f874fa3b (link)
#149088 Add missing trailing period to RustDoc for fn create_dir(). e90564a0a95041b6e974dea70f6473d1032927c1 (link)
#149111 fs: Run file lock tests on all platforms that support it df8ad0bab0613e50a6b2cf934d03d0fe798e95dd (link)
#149113 sgx: avoid unnecessarily creating a slice 055ec330e16bd0336c808617bb3a1eb1d0b38552 (link)
#149123 std: sys: fs: uefi: Fix FileAttr size 70cb0c7bbded58451b14acfb56c7601f44fe590d (link)
#149133 Remove an unused variable b827e41f336520c7f69c64abed92330e0be23b9e (link)
#149139 Enable host tools for aarch64-unknown-linux-ohos c1c17501d6362fb00d4e2e1e9f184b2445348773 (link)
#149144 Reject async fn in const impl during AST validation c2d12a62cc7c726f22f901a1436862808742523e (link)
#149154 Fix platform supports docs tiny typo 25b2ca6dac45949487e17944c9d9afae8304a245 (link)

previous master: 53732d5e07

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

@github-actions
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 53732d5 (parent) -> 5f7653d (this PR)

Test differences

Show 13 test diffs

Stage 1

  • [run-make] tests/run-make/autodiff/rlib: [missing] -> ignore (ignored when LLVM Enzyme is disabled or LLVM is not the default codegen backend) (J3)
  • [ui] tests/ui/traits/const-traits/ice-149083-async-in-const-impl.rs: [missing] -> pass (J3)

Stage 2

  • fs::tests::file_lock_blocking: [missing] -> pass (J0)
  • fs::tests::file_lock_drop: [missing] -> pass (J0)
  • fs::tests::file_lock_dup: [missing] -> pass (J0)
  • fs::tests::file_lock_multiple_shared: [missing] -> pass (J0)
  • fs::tests::links_work: ignore -> ignore (Android SELinux rules prevent creating hardlinks) (J0)
  • fs::tests::symlink_hard_link: ignore -> ignore (Android SELinux rules prevent creating hardlinks) (J0)
  • [run-make] tests/run-make/autodiff/rlib: [missing] -> ignore (ignored when cross-compiling) (J1)
  • [ui] tests/ui/traits/const-traits/ice-149083-async-in-const-impl.rs: [missing] -> pass (J2)
  • [run-make] tests/run-make/autodiff/rlib: [missing] -> ignore (ignored when LLVM Enzyme is disabled or LLVM is not the default codegen backend) (J4)

Additionally, 2 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 5f7653df82f7076960d5760830554c98f4cab215 --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-apple: 5657.7s -> 8021.9s (+41.8%)
  2. aarch64-apple: 10347.2s -> 7967.7s (-23.0%)
  3. dist-x86_64-apple: 6403.1s -> 7857.8s (+22.7%)
  4. dist-apple-various: 4281.6s -> 3451.5s (-19.4%)
  5. x86_64-msvc-ext1: 8006.4s -> 7077.3s (-11.6%)
  6. dist-ohos-x86_64: 4638.5s -> 4178.8s (-9.9%)
  7. i686-msvc-1: 9898.6s -> 10868.8s (+9.8%)
  8. dist-aarch64-windows-gnullvm: 4987.6s -> 4524.6s (-9.3%)
  9. aarch64-msvc-2: 4791.4s -> 5210.9s (+8.8%)
  10. dist-ohos-aarch64: 4659.9s -> 4260.4s (-8.6%)
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 (5f7653d): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.5% [-0.6%, -0.5%] 3
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 0.2%, secondary 1.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.5% [2.2%, 2.7%] 2
Regressions ❌
(secondary)
1.3% [1.3%, 1.3%] 1
Improvements ✅
(primary)
-4.3% [-4.3%, -4.3%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-4.3%, 2.7%] 3

Cycles

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

Binary size

Results (primary 0.0%, secondary 0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.0%] 8
Regressions ❌
(secondary)
0.0% [0.0%, 0.0%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.0%] 8

Bootstrap: 471.595s -> 472.873s (0.27%)
Artifact size: 388.91 MiB -> 388.93 MiB (0.00%)

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-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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. O-SGX Target: SGX 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.