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 }})
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.
r? @cuviper
(rustbot has picked a reviewer for you, use r? to override)
rustbot added S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
Relevant to the library team, which will review and decide on the PR/issue.
labels
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:
- Stabilizing library features
- Introducing insta-stable changes such as new implementations of existing stable traits on existing stable types
- Introducing new or changing existing unstable library APIs (excluding permanently unstable features / features without a tracking issue)
- Changing public documentation in ways that create new stability guarantees
- Changing observable runtime behavior of library APIs
Please do create an API Change Proposal as linked above.
@rustbot label +T-libs-api -T-libs
r? libs-api
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
This comment has been minimized.
bors added the S-waiting-on-author
Status: This is awaiting some action (such as code changes or more information) from the author.
label
dtolnay removed the S-waiting-on-author
Status: This is awaiting some action (such as code changes or more information) from the author.
label
Labels
Status: PR has an ACP and is waiting for the ACP to complete.
Relevant to the library API team, which will review and decide on the PR/issue.