> On 20 Aug 2017, at 01:17, Chris Lattner via swift-evolution > <[email protected]> wrote: > > >> On Aug 19, 2017, at 8:14 AM, Karim Nassar via swift-evolution >> <[email protected]> wrote: >> >> This looks fantastic. Can’t wait (heh) for async/await to land, and the >> Actors pattern looks really compelling. >> >> One thought that occurred to me reading through the section of the >> "async/await" proposal on whether async implies throws: >> >> If ‘async' implies ‘throws' and therefore ‘await' implies ‘try’, if we want >> to suppress the catch block with ?/!, does that mean we do it on the ‘await’ >> ? >> >> guard let foo = await? getAFoo() else { … } > > Interesting question, I’d lean towards “no, we don’t want await? and await!”. > My sense is that the try? and try! forms are only occasionally used, and > await? implies heavily that the optional behavior has something to do with > the async, not with the try. I think it would be ok to have to write “try? > await foo()” in the case that you’d want the thrown error to turn into an > optional. That would be nice and explicit.
That seems like an argument in favor of having async and throws as orthogonal concepts. > -Chris > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
