<commit_before># Multiple Trailing Closures

* Proposal: [SE-0279](0279-multiple-trailing-closures.md)
* Authors: [<NAME>](https://github.com/kylemacomber), [<NAME>](https://github.com/xedin), [<NAME>](https://github.com/douggregor), [<NAME>](https://github.com/rjmccall)
* Review Manager: [<NAME>](https://github.com/airspeedswift)
* Status: **Accepted**
* Previous Revisions: [1](https://github.com/apple/swift-evolution/blob/d923209a05c3c38c8b735510cf1525d27ed4bd14/proposals/0279-multiple-trailing-closures.md)
* Reviews: [1](https://forums.swift.org/t/se-0279-multiple-trailing-closures/34255)
* Implementation: [apple/swift#31052](https://github.com/apple/swift/pull/31052)

## Motivation

Since its inception, Swift has supported *trailing closure* syntax: a bit of syntactic sugar that lets you "pop" the final argument to a function out of the parentheses when it's a closure.

This example uses [`UIView.animate(withDuration:animations:)`](https://developer.apple.com/documentation/uikit/uiview/1622418-animate) to fade out a view:<commit_msg>[SE-0279] Update status: "Implemented (Swift 5.3)"<commit_after># Multiple Trailing Closures

* Proposal: [SE-0279](0279-multiple-trailing-closures.md)
* Authors: [<NAME>](https://github.com/kylemacomber), [<NAME>](https://github.com/xedin), [<NAME>](https://github.com/douggregor), [<NAME>](https://github.com/rjmccall)
* Review Manager: [<NAME>](https://github.com/airspeedswift)
* Status: **Implemented (Swift 5.3)**
* Previous Revisions: [1st](https://github.com/apple/swift-evolution/blob/d923209a05c3c38c8b735510cf1525d27ed4bd14/proposals/0279-multiple-trailing-closures.md)
* Reviews: [1st](https://forums.swift.org/t/se-0279-multiple-trailing-closures/34255),
           [2nd](https://forums.swift.org/t/se-0279-multiple-trailing-closures-amended/35435),
           [3rd](https://forums.swift.org/t/accepted-se-0279-multiple-trailing-closures/36141)
* Implementation: [apple/swift#31052](https://github.com/apple/swift/pull/31052)

## Motivation

Since its inception, Swift has supported *trailing closure* syntax: a bit of syntactic sugar that lets you "pop" the final argument to a function out of the parentheses when it's a closure.

This example uses [`UIView.animate(withDuration:animations:)`](https://developer.apple.com/documentation/uikit/uiview/1622418-animate) to fade out a view:
{'fraction_non_alphanumeric': 0.16489587760305993, 'fraction_numerical': 0.06884827879303017, 'mean_word_length': 5.744985673352436, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 20, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7381836', 'n_tokens_mistral': 945, 'n_tokens_neox': 805, 'n_words': 138}