On Mon, Dec 26, 2016 at 2:27 PM, Adam Nemecek via swift-evolution < [email protected]> wrote:
> The elements already have an Identity, the one that you get when you > invoke the default constructor. It's 0 for Int, "" for String. > Please don't do this. Dave has already confirmed that `init()` makes no semantic guarantees as to the value returned. It _happens_ to be the case that Int() == 0. That does _not_ mean that semantically `Int.init()` provides the identity element for Int. On Mon, Dec 26, 2016 at 11:24 AM, David Sweeris <[email protected]> wrote: > >> >> On Dec 26, 2016, at 11:12, Tino Heth via swift-evolution < >> [email protected]> wrote: >> >> There is an older discussion that is somewhat linked to this topic: >> "Removing the empty initialiser requirement from >> RangeReplaceableCollection" >> https://lists.swift.org/pipermail/swift-evolution/Week-of- >> Mon-20160704/023642.html >> >> Imho "DefaultConstructible" types can be very handy, but so far, it seems >> no one has presented a single use case that is important enough to justify >> the inclusion in the stdlib. >> On the other hand, I'm quite sure that there's much functionality in the >> stdlib that many people consider as superfluous… >> >> I guess adding the protocol wouldn't have a big impact on size, so for >> for me, the question is "Does this protocol confuse users of Swift?", which >> I'd answer with "yes, possibly" (unless someone comes up with a name that >> is more intuitive). >> >> >> "Identity", but, at least for many numeric types, you'd need a mechanism >> for specifying which one you mean. >> >> - Dave Sweeris >> > > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution > >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
