Hello all, I was wondering if this topic had evolved in anyway since its original introduction.
@noescape(once) would still be a useful addition to the language! Gwendal Roué > Le 3 févr. 2016 à 22:21, Félix Cloutier via swift-evolution > <[email protected]> a écrit : > > I updated the proposal to address some concerns. It can be found at: > https://github.com/zneak/swift-evolution/blob/master/proposals/00xx-noescape-once.md > > <https://github.com/zneak/swift-evolution/blob/master/proposals/00xx-noescape-once.md> > > Things that changed: > > It now says that the closure must be called on code paths where the function > throws; > you can have multiple @noescape(once) parameters but they can't make > assumptions from one another. > > I'm not 100% convinced that forcing a call on code paths that throw is always > desirable. I've changed it because Chris's support probably means that the > feature has better chances of making it, but I'm not convinced yet. If > throwing allows me to return without calling the closure, I can write this: > > do { > let foo: Int > try withLock(someLock, timeout: 0.5) { > foo = sharedThing.foo > } > } catch { > print("couldn't acquire lock fast enough") > } > > which would be kind of messy if instead, the closure needed a parameter to > tell whether the lock was acquired or not when it runs. > > Félix > > _______________________________________________ > 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
