Check out this thread
<https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160606/020470.html>–it’s
very similar to what you proposed, but it didn’t go anywhere. FWIW +1 to this
as well as the ability to use multiple trailing closures like so:
animate(identifier: “”, duration: 0, update: {
// update
}, completion: {
// completion
}
Saagar Jha
> On Jan 4, 2017, at 6:25 PM, Jay Abbott via swift-evolution
> <[email protected]> wrote:
>
> When you have a function with a closure and then another optional default =
> nil closure at the end, like this:
>
> open static func animate(identifier: String,
> duration: Double,
> update: @escaping AnimationUpdate,
> completion: AnimationCompletion? = nil) {
> You can’t use trailing closure syntax for the update argument when leaving
> the completion argument out/default.
>
> This kind of breaks one of the benefits of default arguments, which is that
> you can add them to existing released functions without breaking the calling
> code. This means you have to add a separate convenience function without the
> extra argument, which is annoying and inelegant. Another annoying thing is
> that you can easily miss this error if you happen to not use trailing closure
> syntax in your tests or other usage, because adding the extra default
> argument compiles fine for code that uses normal syntax.
>
> Are there any issues/gotchas if the trailing closure syntax were to work for
> the last specified argument rather than the last defined argument?
>
> _______________________________________________
> 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