<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><ul>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">Before answering above, I would like to add</span></li></ul><ul>
<ul style="list-style-type: disc">
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">Since the users of the library will likely not accommodate the new cases (as it doesn’t exist yet), the `default/future` case will then not provide any real usage other than throwing exceptions. So the user will still need to update the code to actually accommodate these cases. This proposal doesn’t solve any real problem (more than what Swift 4 is currently doing).</span></li>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">Non-exhaustive behavior already exist as the `default` case, which user can op-in. So the decision on whether or not the enum is `exhaustive` is currently users’. This proposal will shift this decision to the author of the library, not the user. This is a huge minus since it moved the responsibility to one individual (or a single group of individual) rather than the actual users, and also reduce configurability (the user will have little say in whether or not an enum is exhaustive).</span></li>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">From my own experience, most of the time I use `switch`, I intentionally omit `default`, so the when the library update, I do know which portion needs to handle new cases (among other things). If any enum is decided by the author to be non-exhaustive, it would take away this ability. This refers back to previous bullet point.</span></li>
</ul>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">What is your evaluation of the proposal?</span></li>
<ul style="list-style-type: disc">
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">This is a -1.</span></li><li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: ".SFUIText"; font-size: 17.94pt;">The ABI resilience can be a plus, but the requiring change in behavior is a huge minus, esp. the effect on users’ side of the library. </span></li>
</ul>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">Is the problem being addressed significant enough to warrant a change to Swift?</span></li>
<ul style="list-style-type: disc">
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">I do see where this problem may arise, but the solution has too much drawback to be included in Swift.</span></li>
</ul>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">Does this proposal fit well with the feel and direction of Swift?</span></li>
<ul style="list-style-type: disc">
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">This doesn’t fit well with the feel and direction of the Swift.</span></li>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">As mentioned above, the proposal shift decision on whether or not to support (or to require support) future cases to the author of library, not the users. IMO, it is not very Swifty (or even a good idea).</span></li>
</ul>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?</span></li>
<ul style="list-style-type: disc">
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">I used languages with non-exhaustive enum before, I can never go back after using the exhaustive one.</span></li>
</ul>
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">How much effort did you put into your review? A glance, a quick reading, or an in-depth study?</span></li>
<ul style="list-style-type: disc">
<li style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: Menlo-Regular; font-size: 10pt;"></span><span style="font-family: ".SFUIText"; font-size: 17.94pt;">A several read through the proposal. I really try to like this proposal, as I see that the problem exists, but the solution still doesn’t sound.</span></li>
</ul>
</ul>
<p style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69); min-height: 21.4px;"><span style="font-family: ".SFUIText"; font-size: 17.94pt;"></span><br></p>
<p style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: ".SFUIText"; font-size: 17.94pt;">Sincerely,</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 17.9px; line-height: normal; font-family: ".SF UI Text"; color: rgb(69, 69, 69);"><span style="font-family: ".SFUIText"; font-size: 17.94pt;">Natchanon</span></p></div><div><span style="font-family: ".SFUIText"; font-size: 17.94pt;"><br></span></div><div><div class="gmail_extra"><div class="gmail_quote">On Tue, Dec 19, 2017 at 11:58 PM, Ted Kremenek <span dir="ltr"><<a href="mailto:kremenek@apple.com" target="_blank">kremenek@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><p style="margin-right:0px;margin-bottom:15px;margin-left:0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255);margin-top:0px!important">The review of "SE 0192 - Non-Exhaustive Enums" begins now and runs through <strong>January 3, 2018</strong>.</p><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">The proposal is available here:</p><blockquote style="margin:15px 0px;border-left-width:4px;border-left-style:solid;border-left-color:rgb(221,221,221);padding:0px 15px;color:rgb(119,119,119);font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)"><div style="margin:0px"><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0192-non-exhaustive-enums.md" target="_blank">https://github.com/apple/<wbr>swift-evolution/blob/master/<wbr>proposals/0192-non-exhaustive-<wbr>enums.md</a></div></blockquote><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">Reviews are an important part of the Swift evolution process. All review feedback should be sent to the swift-evolution mailing list at:</p><blockquote style="margin:15px 0px;border-left-width:4px;border-left-style:solid;border-left-color:rgb(221,221,221);padding:0px 15px;color:rgb(119,119,119);font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)"><div style="margin:0px"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a></div></blockquote><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">or, if you would like to keep your feedback private, directly to the review manager. </p><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">When replying, please try to keep the proposal link at the top of the message:</p><blockquote style="margin:15px 0px;border-left-width:4px;border-left-style:solid;border-left-color:rgb(221,221,221);padding:0px 15px;color:rgb(119,119,119);font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)"><div style="margin:0px">Proposal link: <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0192-non-exhaustive-enums.md" target="_blank">https://github.com/apple/<wbr>swift-evolution/blob/master/<wbr>proposals/0192-non-exhaustive-<wbr>enums.md</a><br>...<br>Reply text<br>...<br>Other replies</div></blockquote><h3 id="m_-3546260578713253111toc_0" style="margin:20px 0px 10px;padding:0px;font-size:18px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">What goes into a review of a proposal?</h3><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. </p><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">When reviewing a proposal, here are some questions to consider:</p><ul style="margin:15px 0px;padding-left:30px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)"><li style="margin:0px"><p style="margin:0px 0px 15px">What is your evaluation of the proposal?</p></li><li style="margin:0px"><p style="margin:0px 0px 15px">Is the problem being addressed significant enough to warrant a change to Swift?</p></li><li style="margin:0px"><p style="margin:0px 0px 15px">Does this proposal fit well with the feel and direction of Swift?</p></li><li style="margin:0px"><p style="margin:0px 0px 15px">If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?</p></li><li style="margin:0px"><p style="margin:0px 0px 15px">How much effort did you put into your review? A glance, a quick reading, or an in-depth study?</p></li></ul><p style="margin-top:15px;margin-right:0px;margin-left:0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255);margin-bottom:0px!important">Thanks,<br>Ted Kremenek<br>Review Manager</p></div><br>______________________________<wbr>_________________<br>
swift-evolution-announce mailing list<br>
<a href="mailto:swift-evolution-announce@swift.org">swift-evolution-announce@<wbr>swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution-announce" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution-announce</a><br></blockquote></div></div></div></body></html>