<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Because its part of the type. That’s why we can have throws on closure types:<div class=""><br class=""></div><div class="">func foo(bar: Int throws -&gt; Void) {}</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 19 Jul 2016, at 19:51, Matthieu Oger via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">


<title class=""></title>

<div class=""><div class="">Hello,<br class=""></div>
<div class="">&nbsp;</div>
<div class="">I'm currently reading the updated Swift 3 preview book, and was wondering about the `throws` and `rethrows` keywords.<br class=""></div>
<div class="">&nbsp;</div>
<div class="">In a function declaration, all the keywords are at the beginning, except for `throws` and `rethrows`, which are… oddly placed.<br class=""></div>
<div class="">&nbsp;</div>
<div class="">In the grammar:<br class=""></div>
<div class="">&nbsp;</div>
<div class="">```<br class=""></div>
<div style="border: 0px; font-size: 14px; margin: 0px 0px 12px; outline: 0px; padding: 0px; vertical-align: baseline; background: transparent;" class="syntax-defs-group"><div style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial;" class=""><span class="highlight" style="background-color:transparent"><span class="highlight" style="background-color:transparent"><span class="colour" style="color:rgb(128, 128, 128)"><i class=""><span class="size" style="font-size: 10px">function-declaration</span><span class="Apple-converted-space"><span class="size" style="font-size: 10px">&nbsp;</span></span></i><span class="size" style="font-size: 10px">→</span><span class="Apple-converted-space"><span class="size" style="font-size: 10px">&nbsp;</span></span></span><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/function-head" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/function-head" class=""><span class="size" style="font-size: 10px">function-head</span></a><span class="size" style="font-size: 10px">&nbsp;­</span><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/function-name" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/function-name" class=""><span class="size" style="font-size: 10px">function-name</span></a><span class="size" style="font-size: 10px">­&nbsp;</span></i><span class="highlight" style="background-color:transparent"><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/generic-parameter-clause" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/GenericParametersAndArguments.html#//apple_ref/swift/grammar/generic-parameter-clause" class=""><span class="size" style="font-size: 10px">generic-parameter-clause</span></a><span class="size" style="font-size: 10px">­</span></i></span><sub style="border: 0px; font-size: 0.8em; margin: 0px 0px 0px -2px; outline: 0px; padding: 0px 4px 0px 0px; vertical-align: sub; color: rgb(128, 128, 128); font-style: italic; background: transparent;" class="subscript"><span class="size" style="font-size: 10px">opt</span></sub><span class="size" style="font-size: 10px">­</span><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/function-signature" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/function-signature" class=""><span class="size" style="font-size: 10px">function-signature</span></a><span class="size" style="font-size: 10px">­&nbsp;</span></i><span class="highlight" style="background-color:transparent"><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/function-body" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/function-body" class=""><span class="size" style="font-size: 10px">function-body</span></a><span class="size" style="font-size: 10px">­</span></i></span><sub style="border: 0px; font-size: 0.8em; margin: 0px 0px 0px -2px; outline: 0px; padding: 0px 4px 0px 0px; vertical-align: sub; color: rgb(128, 128, 128); font-style: italic; background: transparent;" class="subscript"><span class="size" style="font-size: 10px">opt</span></sub><span class="size" style="font-size: 10px">­</span></span></span><span class="size" style="font-size: 10px"><br class=""></span></div></div>
<div style="border: 0px; font-size: 14px; margin: 0px 0px 12px; outline: 0px; padding: 0px; vertical-align: baseline; background: transparent;" class="syntax-defs-group"><div style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial;" class=""><span class="highlight" style="background-color:transparent"><span class="highlight" style="background-color:transparent"><span class="colour" style="color:rgb(128, 128, 128)"><i class=""><span class="size" style="font-size: 10px">function-head</span><span class="Apple-converted-space"><span class="size" style="font-size: 10px">&nbsp;</span></span></i><span class="size" style="font-size: 10px">→</span><span class="Apple-converted-space"><span class="size" style="font-size: 10px">&nbsp;</span></span></span><span class="highlight" style="background-color:transparent"><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/attributes" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Attributes.html#//apple_ref/swift/grammar/attributes" class=""><span class="size" style="font-size: 10px">attributes</span></a><span class="size" style="font-size: 10px">­</span></i></span><sub style="border: 0px; font-size: 0.8em; margin: 0px 0px 0px -2px; outline: 0px; padding: 0px 4px 0px 0px; vertical-align: sub; color: rgb(128, 128, 128); font-style: italic; background: transparent;" class="subscript"><span class="size" style="font-size: 10px">opt</span></sub><span class="size" style="font-size: 10px">­</span><span class="highlight" style="background-color:transparent"><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/declaration-modifiers" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/declaration-modifiers" class=""><span class="size" style="font-size: 10px">declaration-modifiers</span></a><span class="size" style="font-size: 10px">­</span></i></span><sub style="border: 0px; font-size: 0.8em; margin: 0px 0px 0px -2px; outline: 0px; padding: 0px 4px 0px 0px; vertical-align: sub; color: rgb(128, 128, 128); font-style: italic; background: transparent;" class="subscript"><span class="size" style="font-size: 10px">opt</span></sub><span class="size" style="font-size: 10px">­</span></span><code style="border: 0px; font-size: 0.86em; margin: 0px; outline: 0px; padding: 0px 4px; vertical-align: baseline; font-family: Menlo, monospace; font-weight: 600; word-wrap: break-word; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="literal"><span class="size" style="font-size: 10px">func­</span></code></span><span class="size" style="font-size: 10px"><br class=""></span></div><div style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial;" class=""><span class="highlight" style="background-color:transparent"><span class="highlight" style="background-color:transparent"><span class="colour" style="color:rgb(128, 128, 128)"><i class=""><span class="size" style="font-size: 10px">function-signature</span><span class="Apple-converted-space"><span class="size" style="font-size: 10px">&nbsp;</span></span></i><span class="size" style="font-size: 10px">→</span><span class="Apple-converted-space"><span class="size" style="font-size: 10px">&nbsp;</span></span></span><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/parameter-clause" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/parameter-clause" class=""><span class="size" style="font-size: 10px">parameter-clause</span></a><span class="size" style="font-size: 10px">­</span></i><code style="border: 0px; font-size: 0.86em; margin: 0px; outline: 0px; padding: 0px 4px; vertical-align: baseline; font-family: Menlo, monospace; font-weight: 600; word-wrap: break-word; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="literal"><span class="size" style="font-size: 10px">throws­</span></code><sub style="border: 0px; font-size: 0.8em; margin: 0px 0px 0px -2px; outline: 0px; padding: 0px 4px 0px 0px; vertical-align: sub; color: rgb(128, 128, 128); font-style: italic; background: transparent;" class="subscript"><span class="size" style="font-size: 10px">opt</span></sub><span class="size" style="font-size: 10px">­</span><span class="highlight" style="background-color:transparent"><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/function-result" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/function-result" class=""><span class="size" style="font-size: 10px">function-result</span></a><span class="size" style="font-size: 10px">­</span></i></span><sub style="border: 0px; font-size: 0.8em; margin: 0px 0px 0px -2px; outline: 0px; padding: 0px 4px 0px 0px; vertical-align: sub; color: rgb(128, 128, 128); font-style: italic; background: transparent;" class="subscript"><span class="size" style="font-size: 10px">opt</span></sub><span class="size" style="font-size: 10px">­</span></span></span><span class="size" style="font-size: 10px"><br class=""></span></div><div style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial;" class=""><span class="highlight" style="background-color:transparent"><span class="highlight" style="background-color:transparent"><span class="colour" style="color:rgb(128, 128, 128)"><i class=""><span class="size" style="font-size: 10px">function-signature</span><span class="Apple-converted-space"><span class="size" style="font-size: 10px">&nbsp;</span></span></i><span class="size" style="font-size: 10px">→</span><span class="Apple-converted-space"><span class="size" style="font-size: 10px">&nbsp;</span></span></span><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/parameter-clause" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/parameter-clause" class=""><span class="size" style="font-size: 10px">parameter-clause</span></a><span class="size" style="font-size: 10px">­</span></i></span><code style="border: 0px; font-size: 0.86em; margin: 0px; outline: 0px; padding: 0px 4px; vertical-align: baseline; font-family: Menlo, monospace; font-weight: 600; word-wrap: break-word; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="literal"><span class="size" style="font-size: 10px">rethrows­</span></code><span class="highlight" style="background-color:transparent"><span class="highlight" style="background-color:transparent"><i class=""><a style="border: 0px; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 136, 204); text-decoration: none; background: transparent;" defang_data-id="//apple_ref/swift/grammar/function-result" defang_data-renderer-version="2" href="https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/function-result" class=""><span class="size" style="font-size: 10px">function-result</span></a><span class="size" style="font-size: 10px">­</span></i></span><sub style="border: 0px; font-size: 0.8em; margin: 0px 0px 0px -2px; outline: 0px; padding: 0px 4px 0px 0px; vertical-align: sub; color: rgb(128, 128, 128); font-style: italic; background: transparent;" class="subscript"><span class="size" style="font-size: 10px">opt</span></sub><span class="size" style="font-size: 10px">­</span></span></span><br class=""></div><div style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; line-height: 20.3px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-position: initial initial; background-repeat: initial initial;" class="">```<br class=""></div></div>
<div class="">Is there a reason to have throws and rethrows at this specific position, instead of declaration-modifiers?<br class=""></div>
<div class="">&nbsp;</div>
<div class="">ie.:<br class=""></div>
<div class="">&nbsp;</div>
<div class="">This:<br class=""></div>
<div class="">&nbsp;</div>
<div class="">```<br class=""></div>
<div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">func</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(121, 93, 163)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">send</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">() throws </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">-&gt;</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(0, 134, 179)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">String</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> {}</span></span></span></span><br class=""></div>
<div class="">```<br class=""></div>
<div class="">&nbsp;</div>
<div class="">Becomes:<br class=""></div>
<div class="">&nbsp;</div>
<div class="">```<br class=""></div>
<div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">throwing </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">func</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(121, 93, 163)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">send</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">() </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">-&gt;</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(0, 134, 179)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">String</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> {}</span></span></span></span><br class=""></div>
<div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">rethrowing </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">func</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(121, 93, 163)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">send</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">() </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">-&gt;</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(0, 134, 179)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">String</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> {}</span></span></span></span></span></span></span><br class=""></div>
<div class="">```<br class=""></div>
<div class="">&nbsp;</div>
<div class="">Like:<br class=""></div>
<div class="">&nbsp;</div>
<div class="">```<br class=""></div>
<div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">mutating</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">func</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(121, 93, 163)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">send</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">() </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">-&gt;</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(0, 134, 179)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">String</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> {}</span></span></span></span><br class=""></div>
<div class="">```<br class=""></div>
<div class="">&nbsp;</div>
<div class="">Or:<br class=""></div>
<div class="">&nbsp;</div>
<div class="">```<br class=""></div>
<div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">throw&nbsp;</span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">func</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(121, 93, 163)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">send</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">() </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">-&gt;</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(0, 134, 179)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">String</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> {}</span></span></span></span><br class=""></div>
<div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">rethrow&nbsp;</span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">func</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(121, 93, 163)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">send</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">() </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">-&gt;</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(0, 134, 179)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">String</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> {}</span></span></span></span></span></span></span><br class=""></div>
<div class="">```<br class=""></div>
<div class="">&nbsp;</div>
<div class="">Like:&nbsp;<br class=""></div>
<div class="">&nbsp;</div>
<div class="">```<br class=""></div>
<div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">override</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">func</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(121, 93, 163)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">send</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">() </span></span></span><span class="colour" style="color:rgb(167, 29, 93)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">-&gt;</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> </span></span></span><span class="colour" style="color:rgb(0, 134, 179)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px">String</span></span></span><span class="colour" style="color:rgb(51, 51, 51)"><span class="font" style="font-family:Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace"><span class="size" style="font-size:12px"> {}</span></span></span></span><br class=""></div>
<div class="">```<br class=""></div>
<div class="">&nbsp;</div>
<div class="">(You can also see the weird difference between `override` and `mutating`, one using the -ing suffix, the other being infinitive)&nbsp;<br class=""></div>
<div class="">&nbsp;</div>
<div class="">Am I missing something? I find that these keywords break the flow of the function declaration, separating the parameters and the return type, which is never done anywhere else.<br class=""></div>
<div id="sig19227173" class=""><div class="signature">&nbsp;</div>
<div class="signature">Thanks.</div>
<div class="signature">&nbsp;</div>
<div class="signature">--<br class=""></div>
<div class="signature">Matthieu Oger<br class=""></div>
<div class="signature"><a href="http://pixelnest.io/" class="">Pixelnest Studio</a><br class=""></div>
</div>
<div class="">&nbsp;</div>
</div>

_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></div></body></html>