Skip to content

Rollup of 8 pull requests #129665

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 36 commits into from
Aug 27, 2024
Merged

Rollup of 8 pull requests #129665

merged 36 commits into from
Aug 27, 2024

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

RalfJung and others added 30 commits August 25, 2024 13:49
Plus a tiny bit of reformatting.
…_drops, r=wesleywiser

make it possible to enable const_precise_live_drops per-function

This makes const_precise_live_drops work with rustc_allow_const_fn_unstable so that we can stabilize individual functions that rely on const_precise_live_drops.

The goal is that we can use that to stabilize some of rust-lang#67441 without having to stabilize const_precise_live_drops.
exit: explain our expectations for the exit handlers registered in a Rust program

This documents the position of ``@Amanieu`` and others in rust-lang#126600: a library with an atexit handler that destroys state that other threads could still be working on is buggy. We do not consider it acceptable for a library to say "you must call the following cleanup function before exiting from `main` or calling `exit`". I don't know if this is established ``@rust-lang/libs-api``  consensus so I presume this will have to go through FCP.

Given that Rust supports concurrency, I don't think there is any way to write a sound Rust wrapper around a library that has such a required cleanup function: even if we made `exit` unsafe, and the Rust wrapper used the scope-with-callback approach to ensure it can run cleanup code before returning from the wrapper (like `thread::scope`), one could still call this wrapper in a second thread and then return from `main` while the wrapper runs. Making this sound would require `std` to provide a way to "block" returning from `main`, so that while the wrapper runs returning from `main` waits until the wrapper is done... that just doesn't seem feasible.

The `exit` docs do not seem like the best place to document this, but I also couldn't think of a better one.
@rustbot rustbot added T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Aug 27, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Collaborator

bors commented Aug 27, 2024

📌 Commit ac0cc70 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 Aug 27, 2024
@bors
Copy link
Collaborator

bors commented Aug 27, 2024

⌛ Testing commit ac0cc70 with merge 2f09b1d...

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

Rollup of 8 pull requests

Successful merges:

 - rust-lang#129507 (make it possible to enable const_precise_live_drops per-function)
 - rust-lang#129581 (exit: explain our expectations for the exit handlers registered in a Rust program)
 - rust-lang#129634 (Fix tidy to allow `edition = "2024"` in `Cargo.toml`)
 - rust-lang#129635 (Use unsafe extern blocks throughout the compiler)
 - rust-lang#129645 (Fix typos in floating-point primitive type docs)
 - rust-lang#129648 (More `unreachable_pub`)
 - rust-lang#129649 (ABI compat check: detect unadjusted ABI mismatches)
 - rust-lang#129652 (fix Pointer to reference conversion docs)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Collaborator

bors commented Aug 27, 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 Aug 27, 2024
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
2
Image input checksum b8aeb5a77b270e3fb12244fa717f4507bf49fdc3b3518c1c7a2accdd17f9d15d16e92c33235aa1e3f4c2331ccea374f44b9437a275bcaed2de02bab6187e9918
##[group]Building docker image for i686-gnu
Docker version 26.1.3, build b72abbb
Error response from daemon: login attempt to https://ghcr.io/v2/ failed with status: 401 Unauthorized
##[error]Process completed with exit code 1.

@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 Aug 27, 2024
@bors
Copy link
Collaborator

bors commented Aug 27, 2024

⌛ Testing commit ac0cc70 with merge 1f12b9b...

@bors
Copy link
Collaborator

bors commented Aug 27, 2024

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 27, 2024
@bors bors merged commit 1f12b9b into rust-lang:master Aug 27, 2024
7 checks passed
@rustbot rustbot added this to the 1.82.0 milestone Aug 27, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#129507 make it possible to enable const_precise_live_drops per-fun… 137408d764bdceab8419cf1cce80b5f9586f092c (link)
#129581 exit: explain our expectations for the exit handlers regist… 81c47ca40ddc8509b69512136e70cd127327e6c0 (link)
#129634 Fix tidy to allow edition = "2024" in Cargo.toml a9eb3afdf6d6f42d02926d1ad8bbf541a6fb685c (link)
#129635 Use unsafe extern blocks throughout the compiler 930a701a90574278081a1478392cdede79544e6a (link)
#129645 Fix typos in floating-point primitive type docs 775fcb8ddc757ba780787c67696f76bb2e943341 (link)
#129648 More unreachable_pub d826792ee1405973dcc5aec513f9d861c776f322 (link)
#129649 ABI compat check: detect unadjusted ABI mismatches b7af6b5d4288d8b5f4aa7c872ad76344cb0618d4 (link)
#129652 fix Pointer to reference conversion docs a5023d179fd0898d4d0562cb69fdb91c4f7234ec (link)

previous master: ab869e094a

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

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

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

Max RSS (memory usage)

Results (secondary 2.7%)

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

Cycles

Results (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)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.3% [-2.5%, -2.2%] 3
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 750.285s -> 752.135s (0.25%)
Artifact size: 338.87 MiB -> 338.76 MiB (-0.03%)

@matthiaskrgr matthiaskrgr deleted the rollup-hy23k7d branch September 1, 2024 17:35
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants