Skip to content

Parse Ty? as Option<Ty> and provide structured suggestion #92746

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 1 commit into from
Jan 16, 2022

Conversation

estebank
Copy link
Contributor

Swift has specific syntax that desugars to Option<T> similar to our
? operator, which means that people might try to use it in Rust. Parse
it and gracefully recover.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jan 10, 2022
@rust-highfive
Copy link
Contributor

r? @davidtwco

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 10, 2022
@camelid camelid added the A-suggestion-diagnostics Area: Suggestions generated by the compiler applied by `cargo fix` label Jan 10, 2022
@estebank estebank force-pushed the question-mark-in-type branch from 31447cc to 16ce938 Compare January 12, 2022 23:49
Swift has specific syntax that desugars to `Option<T>` similar to our
`?` operator, which means that people might try to use it in Rust. Parse
it and gracefully recover.
@estebank estebank force-pushed the question-mark-in-type branch from 16ce938 to cfc0bd1 Compare January 14, 2022 00:07
Copy link
Member

@davidtwco davidtwco left a comment

Choose a reason for hiding this comment

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

Apologies for the delay in reviewing this. This looks great.

@davidtwco
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Jan 16, 2022

📌 Commit cfc0bd1 has been approved by davidtwco

@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 Jan 16, 2022
@scottmcm
Copy link
Member

Nice touch! C# has the same, where int? is sugar for Nullable<int>.

bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 16, 2022
…askrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#92487 (Fix unclosed boxes in pretty printing of TraitAlias)
 - rust-lang#92581 (ARMv6K Horizon - Enable default libraries)
 - rust-lang#92619 (Add diagnostic items for macros)
 - rust-lang#92635 (rustdoc: Yet more intra-doc links cleanup)
 - rust-lang#92646 (feat: rustc_pass_by_value lint attribute)
 - rust-lang#92706 (Clarify explicitly that BTree{Map,Set} are ordered.)
 - rust-lang#92710 (Include Projections when elaborating TypeOutlives)
 - rust-lang#92746 (Parse `Ty?` as `Option<Ty>` and provide structured suggestion)
 - rust-lang#92792 (rustdoc: fix intra-link for generic trait impls)
 - rust-lang#92814 (remove unused FIXME)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 9323a0d into rust-lang:master Jan 16, 2022
@rustbot rustbot added this to the 1.60.0 milestone Jan 16, 2022
estebank added a commit to estebank/rust that referenced this pull request Mar 4, 2022
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Mar 4, 2022
Do not recover from `Ty?` in macro parsing

Follow up to rust-lang#92746. Address rust-lang#94510.
cuviper pushed a commit to cuviper/rust that referenced this pull request Mar 18, 2022
Follow up to rust-lang#92746. Address rust-lang#94510.

(cherry picked from commit 004f2ed)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-suggestion-diagnostics Area: Suggestions generated by the compiler applied by `cargo fix` S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants