[swift-evolution] Proposal: Add "none" and simplify the language.

Amir Michail a.michail at me.com
Thu Jan 7 12:45:21 CST 2016


> On Jan 7, 2016, at 1:40 PM, Félix Cloutier <felixcca at yahoo.ca> wrote:
> 
> An implicitly-unwrapped optional would do almost that, no?
> 

You can use “none” to eliminate implicitly unwrapped optionals from the language.

> Félix
> 
>> Le 7 janv. 2016 à 12:46:53, Amir Michail via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> a écrit :
>> 
>> Examples:
>> 
>> var x:Int = none // uninitialized but not an optional
>> 
>> print(x) // run-time error as x is uninitialized
>> 
>> if x == nil { … } // compile time error… x can never be nil because it is not an optional
>> 
>> if x == none { x = 2 } // … but it can be uninitialized
>> 
>> Optionals can also be uninitialized:
>> 
>> var y:Int? = none // uninitialized and an optional
>> 
>> if y == nil { … } // run-time error as y is uninitialized
>> 
>> y = nil
>> 
>> if y == nil { … } // fine
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160107/8dec63c3/attachment.html>


More information about the swift-evolution mailing list