<div dir="ltr">Null/nil coalescing operators are used across several languages (see <a href="https://en.wikipedia.org/wiki/Null_coalescing_operator">https://en.wikipedia.org/wiki/Null_coalescing_operator</a>) The ?? operator in particular is also used for this purpose in C# and PHP 7.</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 25, 2016 at 9:43 PM, Howard Lovatt via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I am no fan of the ?? operator since it tends to disappear in an expression, a bit like ?: does, and it fails the test of being well known or well established (see API guidelines). Also it isn&#39;t used often, therefore I would suggest a method, ifNil, added to Optional instead:<br>
<br>
  x.ifNil(false)<br>
<br>
&gt; On 26 Jan 2016, at 1:32 PM, Craig Cruden via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt; I agree - ?? looks better — at least better than the example shown…. the suggested replacement looks messy and is not an improvement (occasional swift coder - as such I am less biased than other Swiftees).<br>
&gt;<br>
&gt;<br>
&gt;&gt; On 2016-01-26, at 9:28:50, Erica Sadun via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Not loving this.  I&#39;m quite happy with ??-coalescing and don&#39;t see<br>
&gt;&gt; a compelling reason it needs to be &quot;cleaner&quot;. I find your suggested<br>
&gt;&gt; enhancement less readable. Looks like an optional chaining across<br>
&gt;&gt; a function.<br>
&gt;&gt;<br>
&gt;&gt; -- E<br>
&gt;&gt;<br>
&gt;&gt;&gt; On Jan 25, 2016, at 7:03 PM, Amir Michail via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Examples:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; * instead of x ?? false, you would have x?(false)<br>
&gt;&gt;&gt; * instead of x?.isEmpty ?? false, you would have x?(false).isEmpty<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I think this change would result in cleaner looking code.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; swift-evolution mailing list<br>
&gt;&gt;&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
&gt;&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; swift-evolution mailing list<br>
&gt;&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; swift-evolution mailing list<br>
&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Trent Nadeau</div>
</div>