<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 Mar 31, 2016, at 11:43 PM, Fabian Ehrentraud &lt;<a href="mailto:Fabian.Ehrentraud@willhaben.at" class="">Fabian.Ehrentraud@willhaben.at</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">

<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Great to hear IUOs losing ground :-)</div>
<div class=""><br class="">
</div>
<div class="">Might adding additional compiler warnings as described in SR-104 accompany the implementation of this proposal well?</div>
<div class=""><a href="https://bugs.swift.org/browse/SR-104" class="">https://bugs.swift.org/browse/SR-104</a></div></div></div></blockquote><div><br class=""></div>This is definitely related, but orthogonal to SE-0054. &nbsp;</div><div><br class=""></div><div>Just MHO, but I think warning on every implicit unwrap would completely defeat the point of having the T! feature in the first place: if that were the model we wanted, we would just import unaudited pointers as optional. &nbsp;Doing that has been extensively discussed and is not a good idea.</div><div><br class=""></div><div>-Chris</div><div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class=""><br class="">
</div>
<div class="">Fabian</div>
<div class=""><br class="">
</div>
<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On 31.03.2016, at 18:43, Chris Lattner 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="">Proposal Link: <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0054-abolish-iuo.md" class="">
https://github.com/apple/swift-evolution/blob/master/proposals/0054-abolish-iuo.md</a><br class="">
<br class="">
The review of SE-0054 "Abolish ImplicitlyUnwrappedOptional type" ran from Mar 25…30, 2016. The proposal has been *accepted, pending implementation experience*:<br class="">
<br class="">
There is generally positive feedback on the proposal, as it keeps the good behaviors of the existing T! type syntax (including support for importing un-nullability-audited APIs, support for 2-phase initialization patterns, etc) while dramatically reducing the
 confusion and surprise that they introduce as they trickle through type inference. &nbsp;The core team sees significant value in having a simple and predictable model that can be explained concisely.
<br class="">
<br class="">
That said, this is the sort of proposal that can have a profound impact on the actual experience using unaudited APIs. &nbsp;The core team believes that the experience will be good, but we would like to get some experience moving a couple of existing projects (both
 low-level code that interacts with C, and an “App” project working with high level frameworks) to see what the impact is in practice. &nbsp;If something unexpected comes up, we will revisit this, and potentially reject it later. &nbsp;Chris Willmore is working on an
 implementation of this now, so we should know in the next week or two.<br class="">
<br class="">
Thank you to Chris Willmore for driving this forward!<br class="">
<br class="">
-Chris Lattner<br class="">
Review Manager<br class="">
_______________________________________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>

</div></blockquote></div><br class=""></body></html>