[swift-evolution] Pitch: Remove default initialization of optional bindings
Alejandro Martinez
alexito4 at gmail.com
Mon Nov 6 17:07:12 CST 2017
I won’t complain a lot if it’s decided to be removed but I would prefer it to stay. I use it constantly.
Sent from my iPad
> On 6 Nov 2017, at 22:41, Jon Shier via swift-evolution <swift-evolution at swift.org> wrote:
>
> I use this on all of my mutable optional properties, when I have to use them. It’s just that little extra bit of code I don’t need to write, and it feels a lot like parameter defaults in use. By surface area, I assume you mean the fact that it’s an implicit behavior people may need to remember? As something like that, this seems like a very small one. As for users knowing about it, I’m guessing it falls into one of those things that people just never explicitly notice but would likely have a huge impact on anyone with lots of mutable optionals. Developers from other languages may also assume this behavior, since it replicates the “nil by default” behavior seen in other languages.
> Ultimately, while I won’t feel this deeply, since I tend to view mutable optionals as poor practice in Swift, it’s a nice little convenience that will likely impact everyone using mutable optionals. If you really want to find out, perhaps run it agains the compatibility suite?
>
>
> Jon
>
>> On Nov 6, 2017, at 5:33 PM, Slava Pestov via swift-evolution <swift-evolution at swift.org> wrote:
>>
>> Hi all,
>>
>> Right now, the following two declarations are equivalent:
>>
>> struct S {
>> var x: Int?
>> }
>>
>> struct S {
>> var x: Int? = nil
>> }
>>
>> That is, mutable bindings of sugared optional type (but not Optional<T>!) always have a default value of ‘nil’. This feature increases the surface area of the language for no good reason, and I would like to deprecate it in -swift-version 5 with a short proposal. Does anyone feel strongly about giving it up? I suspect most Swift users don’t even know it exists.
>>
>> Slava
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> 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