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

std: suggest OnceLock over Once #126509

Merged

Conversation

workingjubilee
Copy link
Member

It was noted in #125615 (comment) that Once is not necessary in most cases and should be discouraged. Once is really just an implementation detail of OnceLock that others can use if they want. Suggest they use OnceLock instead.

@rustbot
Copy link
Collaborator

rustbot commented Jun 15, 2024

r? @jhpratt

rustbot has assigned @jhpratt.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 15, 2024
Copy link
Member

@jhpratt jhpratt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me with a trivial change to wording

/// functionality. This type can only be constructed with [`Once::new()`].
/// A low-level synchronization primitive for one-time global execution.
///
/// Once this was the only "execute once" synchronization provided by `std`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Once this was the only "execute once" synchronization provided by `std`.
/// Previously, this was the only "execute once" synchronization provided by `std`.

to avoid confusion with the type name

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aw, so much for sneaking that one by. 😉

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once upon a time... well, I suppose that is a bit cliche now.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it was intentional, so be it 😆 But I think it would be mildly confusing — my brain parsed it wrong at first.

@workingjubilee workingjubilee force-pushed the gently-discourage-doing-things-once branch from 08da712 to b8eb6ad Compare June 15, 2024 07:08
@jhpratt
Copy link
Member

jhpratt commented Jun 15, 2024

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jun 15, 2024

📌 Commit b8eb6ad has been approved by jhpratt

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 Jun 15, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 15, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#126354 (Use `Variance` glob imported variants everywhere)
 - rust-lang#126367 (Point out failing never obligation for `DEPENDENCY_ON_UNIT_NEVER_TYPE_FALLBACK`)
 - rust-lang#126469 (MIR Shl/Shr: the offset can be computed with rem_euclid)
 - rust-lang#126471 (Use a consistent way to filter out bounds instead of splitting it into three places)
 - rust-lang#126472 (build `libcxx-version` only when it doesn't exist)
 - rust-lang#126497 (delegation: Fix hygiene for `self`)
 - rust-lang#126501 (make bors ignore comments in PR template)
 - rust-lang#126509 (std: suggest OnceLock over Once)
 - rust-lang#126512 (Miri subtree update)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 83cbcea into rust-lang:master Jun 15, 2024
6 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jun 15, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jun 15, 2024
Rollup merge of rust-lang#126509 - workingjubilee:gently-discourage-doing-things-once, r=jhpratt

std: suggest OnceLock over Once

It was noted in rust-lang#125615 (comment) that Once is not necessary in most cases and should be discouraged. Once is really just an implementation detail of OnceLock that others can use if they want. Suggest they use OnceLock instead.
@workingjubilee workingjubilee deleted the gently-discourage-doing-things-once branch June 16, 2024 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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.

4 participants