Yes, this is the proper channel to discuss this kind of proposal. What you’re proposing has been brought up before, or as Chris Lattner put it: “Yes, this has thoroughly been beaten to death. It is also outside the scope of Swift 4 stage 1. That said, it is such a glaring problem that we’ll have to deal with it at some point.” https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20161024/028448.html <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20161024/028448.html>
I don’t recall if there was a conclusion other than that it was out of scope. This message from 26 October 2016 seems to be the start of the longest discussion of it that I could find: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20161024/028440.html <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20161024/028440.html> Also, Erica Sadun drafted a proposal for it: https://gist.github.com/erica/db9ce92b3d23cb20799460f603c0ae7c <https://gist.github.com/erica/db9ce92b3d23cb20799460f603c0ae7c> Unfortunately, given how close to release it is, I would guess that it’s still out of scope for Swift 4. If it’s out of scope, Ted Kremenek very recently gave some input on “Swift phases and mis-timed proposals”: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170612/037340.html <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170612/037340.html> Regards, David > On 10 Jun 2017, at 06:07, Justin Oroz via swift-evolution > <[email protected]> wrote: > > First time trying to contribute, hopefully this is the proper channel to > submit. > > I propose an addition to the guard let statement to allow for replacement of > optionals with unwrapped values. > > ex) > > two current options > > > obj.methodWithCallback() {(foo, bar) in > guard let foo = foo else { > return > } > > foo.prop = “new” > } > > OR > > obj.methodWithCallback() {(foo, bar) in > guard foo != nil else { > return > } > > foo!.prop = “new” > } > > > I propose the following option: > > obj.methodWithCallback() {(foo, bar) in > guard foo else { > return > } > > foo.prop = “new” > } > > This reduces the seemingly redundant "guard let foo = foo” statement and > removes the unnecessary forced optional unwrapping. > > - Justin > > > _______________________________________________ > 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
