[swift-evolution] Optional Assignment Operator

Sean Heber sean at fifthace.com
Wed Jan 25 10:56:17 CST 2017


Seems trivial to do this now:

var foo = someOptional ?? foo

Unless I’m not understanding?

l8r
Sean


> On Jan 25, 2017, at 10:40 AM, Nichi Shin via swift-evolution <swift-evolution at swift.org> wrote:
> 
> I’d like to propose a new operator for optional assignment in Swift.
> 
> The idea is that by using this operator (e.g. by doing a ?= b), the optional on the right would be assigned to the variable on the left only when it has something to assign (i.e. when it's not nil).
> 
> The implementation could be something as follows:
> 
> /// Optional Assignment Operator
> infix operator ?=: AssignmentPrecedence
> 
> func ?=<T>(left: inout T, right: T?) {
>     if right != nil {
>         left = right!
>     }
> }
> 
> func ?=<T>(left: inout T?, right: T?) {
>     if right != nil {
>         left = right
>     }
> }
> 
> I hope you will consider adding this on a future release of this great programming language.
> 
> Kind regards,
> N. S.
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list