<div dir="ltr">To have ? in the symbol is much better than looking back again and again to ensure variable is initialized or not for me.<div><br></div><div>Ruby style of fields naming is even better for reading, though a little burden for writing.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 9, 2016 at 3:38 PM, Brent Royal-Gordon 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"><span class="">&gt; var x:Int = none // uninitialized but not an optional<br>
&gt;<br>
&gt; print(x) // run-time error as x is uninitialized<br>
&gt;<br>
&gt; if x == nil { … } // compile time error… x can never be nil because it is not an optional<br>
&gt;<br>
&gt; if x == none { x = 2 } // … but it can be uninitialized<br>
&gt;<br>
&gt; Optionals can also be uninitialized:<br>
&gt;<br>
&gt; var y:Int? = none // uninitialized and an optional<br>
&gt;<br>
&gt; if y == nil { … } // run-time error as y is uninitialized<br>
&gt;<br>
&gt; y = nil<br>
&gt;<br>
&gt; if y == nil { … } // fine<br>
<br>
</span>I think there *may* be a case for this as a strictly static check. That is, setting a variable to `none` would be a way to explicitly mark the current state as invalid, and ask the compiler to prove that it&#39;s not used again until you&#39;ve reinitialized it. But your example of `x == none` would not make any sense—`none` would not be a thing that existed at runtime. That&#39;s a very niche feature, though, and I&#39;d need convincing that it&#39;s helpful.<br>
<br>
I&#39;m strongly opposed to this feature as a runtime construct. It&#39;s basically just reintroducing null references, which is an anti-goal.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
</font></span><div class="HOEnZb"><div class="h5"><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>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Best Regards!<br><br>Yang Wu<br>--------------------------------------------------------<br>Location: Pudong, Shanghai, China.<br>EMail    : <a href="mailto:pinxue@gmail.com" target="_blank">pinxue@gmail.com</a><br>Website: <a href="http://www.time2change.mobi" target="_blank">http://www.time2change.mobi</a> <a href="http://rockplayer.com" target="_blank">http://rockplayer.com</a><br>Twitter/Weibo : @pinxue<br><a href="http://www.pinxue.net" target="_blank"></a></div></div>
</div>