[swift-evolution] Pitch: Remove default initialization of optional bindings

Jacob Williams ponyboy47 at gmail.com
Mon Nov 6 18:35:16 CST 2017


> On Nov 6, 2017, at 5:29 PM, Kelvin Ma via swift-evolution <swift-evolution at swift.org> wrote:
> 
> hot take: i use the second one a lot but only because i always forget the first one exists. So I type the = nil just to “be sure”.
> 

Same here! I just changed a bunch of code since I’d forgotten they were the same

> On Mon, Nov 6, 2017 at 4:33 PM, Slava Pestov via swift-evolution <swift-evolution at swift.org <mailto: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 <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171106/913a4139/attachment.html>


More information about the swift-evolution mailing list