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

Implement Random for tuple #136801

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sorairolake
Copy link
Contributor

@sorairolake sorairolake commented Feb 10, 2025

Implement Random for tuples of arity 12 or less. Each element is expected to implement Random.

I think it's OK to implement this trait for the following types:

  • Primitive integer types and bool
  • Arrays and tuples of the above values
  • NonZero<T>, Saturating<T> and Wrapping<T>

The necessity of this trait is debated (#130703 (comment)), but if we decide to keep it in the future when the random module is stabilized, I think it would be useful to have this trait implemented for tuples.

Tracking issue: #130703

r? @joboet

@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 Feb 10, 2025
@joboet
Copy link
Member

joboet commented Feb 20, 2025

The implementation looks reasonable to me, but this will need T-libs-api approval.

r? libs-api

@rustbot rustbot added the T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. label Feb 20, 2025
@rustbot rustbot assigned joshtriplett and unassigned joboet Feb 20, 2025
@bors
Copy link
Collaborator

bors commented Mar 24, 2025

☔ The latest upstream changes (presumably #138873) made this pull request unmergeable. Please resolve the merge conflicts.

Implement `Random` for tuples of arity 12 or less. Each element is
expected to implement `Random`.
@sorairolake sorairolake force-pushed the add-random-for-tuple branch from b0098b7 to 8f97955 Compare March 24, 2025 05:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants