[swift-evolution] Proposal: An assignment operator := that ensures nil before assignment.

Amir Michail a.michail at me.com
Sat Feb 27 09:38:08 CST 2016


> On Feb 27, 2016, at 10:11 AM, Stephen Celis <stephen.celis at gmail.com> wrote:
> 
>> On Feb 27, 2016, at 9:34 AM, Amir Michail via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> Consider the use of “!” in the following:
>> 
>> var x: Int? = 5
>> 
>> x! = 2 // “!” is used to ensure non-nil value before assignment
>> 
>> The idea is to have a similar method for ensuring a nil value.
>> 
>> So instead of writing:
>> 
>> precondition( x == nil )
>> x = 3
>> 
>> You could write:
>> 
>> x := 3
> 
> You could use an `inout` function to solve this now without adding surface area to the language and standard lib.
> 

I think this := would be used so often that it should be part of the language/standard library.

> I've noticed, Amir, that people often ask you to flesh these ideas out more before submitting them to evolution. Would you please address these questions on this (and future) proposals? It might speed these discussions along.
> 
> - Why do you want this feature?
> 
> - Would you please provide a better, real-world example (perhaps code extracted from a real-world project you've worked on that would benefit) that demonstrates the benefits of your suggestion?
> 
> - Can you go into more detail on the the design of the proposal? How it may be implemented? Caveats? Alternatives considered?
> 
> Your emails to evolution are generally too short and not fleshed out enough to really evaluate.
> 
> Stephen
> 



More information about the swift-evolution mailing list