<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 17, 2017, at 11:50 AM, Adrian Zubarev 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=""><div class="bloop_markdown" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);"><p style="margin: 15px 0px; -webkit-margin-before: 0px;" class="">Sorry, I couldn’t follow every thread. I simply couldn’t get that fact from the given context of the first post by Anton. :) Just forget everything I mentioned about typealias, because it was based on the assumption of an error list.</p><p style="margin: 15px 0px;" class="">Anyways +1 for typed throws. The syntax<span class="Apple-converted-space">&nbsp;</span><code style="font-family: Menlo, Consolas, 'Liberation Mono', Courier, monospace; font-size: 10pt; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; word-break: normal; word-wrap: normal; -webkit-margin-before: 0px;" class="">throws(T)</code><span class="Apple-converted-space">&nbsp;</span>and<span class="Apple-converted-space">&nbsp;</span><code style="font-family: Menlo, Consolas, 'Liberation Mono', Courier, monospace; font-size: 10pt; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; word-break: normal; word-wrap: normal;" class="">rethrows(T)</code><span class="Apple-converted-space">&nbsp;</span>is fine by me.</p></div></div></blockquote><div>I feel like&nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>rethrows can and should be inferred. It’s just a pass-through.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="bloop_markdown" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);"><div style="margin: 15px 0px;" class=""><br class="webkit-block-placeholder"></div></div><div class="bloop_original_html" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);"><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; margin: 0px;" class=""><br class=""></div><br class=""><div id="bloop_sign_1487360769079386880" class="bloop_sign"><div style="font-family: helvetica, arial; font-size: 13px;" class="">--&nbsp;<br class="">Adrian Zubarev<br class="">Sent with Airmail</div></div><br class=""><p class="airmail_on" style="margin: 15px 0px;">Am 17. Februar 2017 um 20:45:55, Matthew Johnson (<a href="mailto:matthew@anandabits.com" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">matthew@anandabits.com</a>) schrieb:</p><blockquote type="cite" class="clean_bq" style="margin: 15px 0px;"><span style="margin-top: 0px; margin-bottom: 0px;" class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""></div><div class=""><br class=""><div class=""><blockquote type="cite" class="" style="margin: 15px 0px;"><div class="" style="margin-top: 0px;">On Feb 17, 2017, at 1:42 PM, Adrian Zubarev via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="" style="margin-bottom: 0px;"><div id="bloop_customfont" class="" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;">So the typed throws are going to be limited to a single error type, is that the direction we're heading to?</div></div></blockquote><div class=""><br class=""></div>Yes, this topic was discussed thoroughly last year.</div><div class=""><br class=""><blockquote type="cite" class="" style="margin: 15px 0px;"><div class="" style="margin-top: 0px; margin-bottom: 0px;"><br class="" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div id="bloop_sign_1487360439950413824" class="bloop_sign" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="font-family: helvetica, arial; font-size: 13px;">--&nbsp;<br class="">Adrian Zubarev<br class="">Sent with Airmail</div></div><br class="" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><p class="airmail_on" style="margin: 15px 0px; font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Am 17. Februar 2017 um 20:39:12, Anton Zhilin (<a href="mailto:antonyzhilin@gmail.com" class="" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;">antonyzhilin@gmail.com</a>) schrieb:</p><blockquote type="cite" class="clean_bq" style="margin: 15px 0px; font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""></div><div class=""><div dir="ltr" class=""><div class="markdown-here-wrapper"><p class="" style="margin: 0px 0px 1.2em !important;"><span class="">In this case, you’d better create a new error type, which includes all the cases of those errors:</span></p><pre class="" style="margin: 1.2em 0px; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 1em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(204, 204, 204); overflow: auto; padding: 4px 8px; word-break: normal; word-wrap: normal; line-height: 1.2em;"><span class=""><code class="" style="font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(204, 204, 204); margin: 0px 0.15em; padding: 0.5em 0.7em; word-break: normal; word-wrap: normal; white-space: pre; overflow: auto; display: block !important;">// FileNotFoundError and WrongFormat are Error-s

struct PreferencesError : Error {
    init(_: FileNotFoundError)
    init(_: WrongFormat)
    // ...
}

func readPreferences() throws(PreferencesError)
</code></span></pre><p class="" style="margin: 0px 0px 1.2em !important;"><span class="">In the most “lazy” case, you’d just create an enum of those two:</span></p><pre class="" style="margin: 1.2em 0px; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 1em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(204, 204, 204); overflow: auto; padding: 4px 8px; word-break: normal; word-wrap: normal; line-height: 1.2em;"><span class=""><code class="" style="font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(204, 204, 204); margin: 0px 0.15em; padding: 0.5em 0.7em; word-break: normal; word-wrap: normal; white-space: pre; overflow: auto; display: block !important;">enum PreferencesError : Error {
    case fileNotFound(FileNotFoundError)
    case wrongFormat(WrongFormatError)
}
</code></span></pre><p class="" style="margin: 0px 0px 1.2em !important;"><span class="">Better yet, you should analyze, which cases are meaningful for user of<span class="Apple-converted-space">&nbsp;</span><code class="" style="font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(234, 234, 234); margin: 0px 0.15em; padding: 0px 0.3em; word-break: normal; word-wrap: normal; white-space: pre-wrap; display: inline;">readPreferences</code>, and present them with appropriate interface. You may want to crash on those cases of initial error types, with which you can’t do anything on the level of abstraction of<span class="Apple-converted-space">&nbsp;</span><code class="" style="font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(234, 234, 234); margin: 0px 0.15em; padding: 0px 0.3em; word-break: normal; word-wrap: normal; white-space: pre-wrap; display: inline;">readPreferences</code>. Some of the others will be merged or renamed.</span></p><p class="" style="margin: 0px 0px 1.2em !important;">With proper error types, a single type in<span class="Apple-converted-space">&nbsp;</span><code class="" style="font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(234, 234, 234); margin: 0px 0.15em; padding: 0px 0.3em; word-break: normal; word-wrap: normal; white-space: pre-wrap; display: inline;">throws</code><span class="Apple-converted-space">&nbsp;</span>clause is enough, without sum types.</p><p class="" style="margin: 0px 0px 1.2em !important;">2017-02-17 22:22 GMT+03:00 Adrian Zubarev via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;">swift-evolution@swift.org</a>&gt;:</p><div class="" style="margin: 0px 0px 1.2em !important;"><br class="webkit-block-placeholder"></div><div class="markdown-here-exclude"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div class="" style="margin-top: 0px; margin-bottom: 0px; word-wrap: break-word;"><div class="m_7383326189739117365bloop_markdown"><p class="" style="margin: 15px 0px;">Sure thing, but that’s not what I was asking about. Kevin made a protocol that conforms to<span class="Apple-converted-space">&nbsp;</span><code class="" style="font-family: Menlo, Consolas, 'Liberation Mono', Courier, monospace; font-size: 10pt; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; word-break: normal; word-wrap: normal;">Error</code><span class="Apple-converted-space">&nbsp;</span>where all the his enums conformed to<span class="Apple-converted-space">&nbsp;</span><code class="" style="font-family: Menlo, Consolas, 'Liberation Mono', Courier, monospace; font-size: 10pt; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: rgb(248, 248, 248); color: inherit; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; word-break: normal; word-wrap: normal;">MyError</code><span class="Apple-converted-space">&nbsp;</span>protocol. That way we’re losing all enum cases and are not really a step further as before.</p></div></div></blockquote></div><div class="" style="margin: 0px 0px 1.2em !important;"><br class="webkit-block-placeholder"></div><div title="MDH:SW4gdGhpcyBjYXNlLCB5b3UnZCBiZXR0ZXIgY3JlYXRlIGEgbmV3IGVycm9yIHR5cGUsIHdoaWNo IGluY2x1ZGVzIGFsbCB0aGUgY2FzZXMgb2YgdGhvc2UgZXJyb3JzOjxkaXY+PGJyPjwvZGl2Pjxk aXY+YGBgPC9kaXY+PGRpdj4vLyBGaWxlTm90Rm91bmRFcnJvciBhbmQgV3JvbmdGb3JtYXQgYXJl IEVycm9yLXM8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PnN0cnVjdCBQcmVmZXJlbmNlc0Vycm9y IDogRXJyb3IgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBpbml0KF86IEZpbGVOb3RGb3VuZEVy cm9yKTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBpbml0KF86IFdyb25nRm9ybWF0KTwvZGl2Pjxk aXY+Jm5ic3A7ICZuYnNwOyAvLyAuLi48L2Rpdj48ZGl2Pn08L2Rpdj48ZGl2Pjxicj48L2Rpdj48 ZGl2PmZ1bmMgcmVhZFByZWZlcmVuY2VzKCkgdGhyb3dzKFByZWZlcmVuY2VzRXJyb3IpPC9kaXY+ PGRpdj5gYGA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkluIHRoZSBtb3N0ICJsYXp5IiBjYXNl LCB5b3UnZCBqdXN0IGNyZWF0ZSBhbiBlbnVtIG9mIHRob3NlIHR3bzo8L2Rpdj48ZGl2Pjxicj48 L2Rpdj48ZGl2PmBgYDwvZGl2PjxkaXY+ZW51bSBQcmVmZXJlbmNlc0Vycm9yIDogRXJyb3Igezwv ZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBjYXNlIGZpbGVOb3RGb3VuZChGaWxlTm90Rm91bmRFcnJv cik8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgY2FzZSB3cm9uZ0Zvcm1hdChXcm9uZ0Zvcm1hdEVy cm9yKTwvZGl2PjxkaXY+fTwvZGl2PjxkaXY+YGBgPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5C ZXR0ZXIgeWV0LCB5b3Ugc2hvdWxkIGFuYWx5emUsIHdoaWNoIGNhc2VzIGFyZSBtZWFuaW5nZnVs IGZvciB1c2VyIG9mIGByZWFkUHJlZmVyZW5jZXNgLCBhbmQgcHJlc2VudCB0aGVtIHdpdGggYXBw cm9wcmlhdGUgaW50ZXJmYWNlLiBZb3UgbWF5IHdhbnQgdG8gY3Jhc2ggb24gdGhvc2UgY2FzZXMg b2YgaW5pdGlhbCBlcnJvciB0eXBlcywgd2l0aCB3aGljaCB5b3UgY2FuJ3QgZG8gYW55dGhpbmcg b24gdGhlIGxldmVsIG9mIGFic3RyYWN0aW9uIG9mIGByZWFkUHJlZmVyZW5jZXNgLiBTb21lIG9m IHRoZSBvdGhlcnMgd2lsbCBiZSBtZXJnZWQgb3IgcmVuYW1lZC48L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2PldpdGggcHJvcGVyIGVycm9yIHR5cGVzLCBhIHNpbmdsZSB0eXBlIGluIGB0aHJvd3Ng IGNsYXVzZSBpcyBlbm91Z2gsIHdpdGhvdXQgc3VtIHR5cGVzLjwvZGl2PjxkaXY+PGRpdiBjbGFz cz0iZ21haWxfZXh0cmEiPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+MjAxNy0wMi0xNyAy MjoyMiBHTVQrMDM6MDAgQWRyaWFuIFp1YmFyZXYgdmlhIHN3aWZ0LWV2b2x1dGlvbiA8c3BhbiBk aXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpzd2lmdC1ldm9sdXRpb25Ac3dpZnQub3JnIiB0 YXJnZXQ9Il9ibGFuayI+c3dpZnQtZXZvbHV0aW9uQHN3aWZ0Lm9yZzwvYT4mZ3Q7PC9zcGFuPjo8 YnI+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44 ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiBzdHls ZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPjxkaXYgY2xhc3M9Im1fNzM4MzMyNjE4OTczOTExNzM2 NWJsb29wX21hcmtkb3duIj48cD5TdXJlIHRoaW5nLCBidXQgdGhhdOKAmXMgbm90IHdoYXQgSSB3 YXMgYXNraW5nIGFib3V0LiBLZXZpbiBtYWRlIGEgcHJvdG9jb2wgdGhhdCBjb25mb3JtcyB0byA8 Y29kZT5FcnJvcjwvY29kZT4gd2hlcmUgYWxsIHRoZSBoaXMgZW51bXMgY29uZm9ybWVkIHRvIDxj b2RlPk15RXJyb3I8L2NvZGU+IHByb3RvY29sLiBUaGF0IHdheSB3ZeKAmXJlIGxvc2luZyBhbGwg ZW51bSBjYXNlcyBhbmQgYXJlIG5vdCByZWFsbHkgYSBzdGVwIGZ1cnRoZXIgYXMgYmVmb3JlLjwv cD48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2PjwvZGl2Pg==" class="" style="height: 0px; width: 0px; max-height: 0px; max-width: 0px; overflow: hidden; font-size: 0em; padding: 0px; margin: 0px;"></div></div></div></div></div></blockquote><span class="" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">_______________________________________________</span><br class="" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span class="" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">swift-evolution mailing list</span><br class="" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><a href="mailto:swift-evolution@swift.org" class="" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none; font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">swift-evolution@swift.org</a><br class="" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none; font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">https://lists.swift.org/mailman/listinfo/swift-evolution</a></div></blockquote></div><br class=""></div></div></span></blockquote></div><div class="bloop_markdown" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);"><div style="margin: 15px 0px; -webkit-margin-before: 0px;" class=""><br class="webkit-block-placeholder"></div></div><span style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254); float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><span style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254); float: none; display: inline !important;" class="">swift-evolution mailing list</span><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><span style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254); float: none; display: inline !important;" class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a></span><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><span style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254); float: none; display: inline !important;" class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""></div></blockquote></div><br class=""></body></html>