Implement flatten for Option<&Option<T>> and Option<&mut Option<T>> by Coca162 · Pull Request #108671 · rust-lang/rust (original) (raw)

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 andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

Coca162

Submitting this to see if it can be done as a pr or if it needs to be a RFC.

Creates .flatten_ref() to get a immutable reference of a nested option and .flatten_mut() for mutable references. Return type is Option<&T> as &Option<T> would require returning a references to None which can't be done in constant functions.

ACP: rust-lang/libs-team#186

@Coca162

@rustbot

r? @cuviper

(rustbot has picked a reviewer for you, use r? to override)

@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

Mar 2, 2023

@rustbot

Hey! It looks like you've submitted a new PR for the library teams!

If this PR contains changes to any rust-lang/rust public library APIs then please comment with @rustbot label +T-libs-api -T-libs to tag it appropriately. If this PR contains changes to any unstable APIs please edit the PR description to add a link to the relevant API Change Proposal or create one if you haven't already. If you're unsure where your change falls no worries, just leave it as is and the reviewer will take a look and make a decision to forward on if necessary.

Examples of T-libs-api changes:

@cuviper

Please do create an API Change Proposal as linked above.

@rustbot label +T-libs-api -T-libs
r? libs-api

@rustbot rustbot added T-libs-api

Relevant to the library API team, which will review and decide on the PR/issue.

and removed T-libs

Relevant to the library team, which will review and decide on the PR/issue.

labels

Mar 2, 2023

@Coca162

@Coca162

@Coca162

@Coca162

programmerjake

@rust-log-analyzer

This comment has been minimized.

@Coca162

@Coca162

@joshtriplett

@bors

@bors bors added the S-waiting-on-author

Status: This is awaiting some action (such as code changes or more information) from the author.

label

Oct 2, 2024

@dtolnay dtolnay removed the S-waiting-on-author

Status: This is awaiting some action (such as code changes or more information) from the author.

label

Nov 3, 2024

Labels

S-waiting-on-ACP

Status: PR has an ACP and is waiting for the ACP to complete.

T-libs-api

Relevant to the library API team, which will review and decide on the PR/issue.