-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
A-error-handlingArea: Error handlingArea: Error handlingB-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.B-RFC-implementedBlocker: Approved by a merged RFC and implemented but not stabilized.Blocker: Approved by a merged RFC and implemented but not stabilized.B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-try_blocks`#![feature(try_blocks)]``#![feature(try_blocks)]`Libs-TrackedLibs issues that are tracked on the team's project board.Libs issues that are tracked on the team's project board.S-tracking-design-concernsStatus: There are blocking design concerns.Status: There are blocking design concerns.T-langRelevant to the language teamRelevant to the language teamT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.
Description
Tracking issue for rust-lang/rfcs#243 and rust-lang/rfcs#1859.
Implementation concerns:
-
?
operator that is roughly equivalent totry!
- implement the?
operator #31954 -
try { ... }
expression - implementcatch
expressions #39849- resolve
do catch { ... }
syntax question - resolve whether catch blocks should "wrap" result value (first addressed in
catch
blocks are notOk
-wrapping their value #41414, now being settled anew in ResolvingOk
-wrapping fortry
blocks #70941) - Add a test confirming that it's an
ExprWithBlock
, so works in a match arm without a comma - Address issues with type inference (
try { expr? }?
currently requires an explicit type annotation somewhere).
- resolve
- settle design of the
Try
trait (extend?
to operate over other types rfcs#1859)- implement new
Try
trait (in place ofCarrier
) and convert?
to use it (Lower?
toTry
instead ofCarrier
#42275) - add impls for
Option
and so forth, and a suitable family of tests (Impl Try for Option #42526) - improve error messages as described in the RFC (Improve
?
error messages per RFC 1859 #35946)
- implement new
- reserve
try
in new edition - block
try{}catch
(or other following idents) to leave design space open for the future, and point people to how to do what they want withmatch
instead
chpio, Darkeye9, updogliu, Object905, Radviger and 388 moredsgallups, davidsenk and Mirsariochriskrycho, EdorianDark, yberreby, lambda-fairy, tanakh and 91 morepaomian, sunjay, mfarrugi, Dushistov, MOZGIII and 16 morecolin-kiegel, repax, alexander-irbis, NotIntMan, JesseWright and 78 morebakcxoj, JustAPerson, nazar-pc, museun, JarvisCraft and 45 moreKrantz-XRF, ishantheperson, Virgiel, lukechu10, WilliamVenner and 30 more
Metadata
Metadata
Assignees
Labels
A-error-handlingArea: Error handlingArea: Error handlingB-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.B-RFC-implementedBlocker: Approved by a merged RFC and implemented but not stabilized.Blocker: Approved by a merged RFC and implemented but not stabilized.B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-try_blocks`#![feature(try_blocks)]``#![feature(try_blocks)]`Libs-TrackedLibs issues that are tracked on the team's project board.Libs issues that are tracked on the team's project board.S-tracking-design-concernsStatus: There are blocking design concerns.Status: There are blocking design concerns.T-langRelevant to the language teamRelevant to the language teamT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.