<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=""><div class="">[Proposal: <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0102-noreturn-bottom-type.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0102-noreturn-bottom-type.md</a> ]</div><div class=""><br class=""></div><div class="">I am already on record as being against this proposal:</div><div class=""><br class=""></div><div class=""></div><blockquote type="cite" class=""><div class="">Just because it can be modelled as a type doesn’t mean it’s the best way to represent the concept. It feels like uniformity for uniformity’s sake.<br class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">func fatalError() -&gt; NoReturn</div></blockquote><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">@noreturn func fatalError()</div></blockquote><div class=""><br class="">The first one probably isn't too hard to explain to a learner. The second one probably doesn’t need an explanation.</div></blockquote><div class=""><br class=""></div><div class="">(<a href="http://thread.gmane.org/gmane.comp.lang.swift.evolution/19958/" class="">http://thread.gmane.org/gmane.comp.lang.swift.evolution/19958/</a>)</div><div class=""><br class=""></div><div class="">A few more thoughts: I don't think uninhabited types actually come up very often (though non-returning functions are also pretty rare). I'm not against supporting composition for actual uninhabited types, but I don't think composition of NoReturn/Never is particularly interesting. I don't find throws&lt;Never&gt; compelling enough to add language support for it, but maybe I just can't think of a case where you want to be generic over error types.</div><div class=""><br class=""></div><div class="">Jordan</div></body></html>