[swift-evolution] Optional Assignment Operator
Joe Groff
jgroff at apple.com
Wed Jan 25 10:56:23 CST 2017
> On Jan 25, 2017, at 8: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).
`a? = b` already does this. Maybe we need a fixit to make that more apparent, though.
-Joe
>
> 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