[swift-evolution] [Pitch] Add the DefaultConstructible protocol to the standard library

Adam Nemecek adamnemecek at gmail.com
Mon Dec 26 13:27:09 CST 2016

The elements already have an Identity, the one that you get when you invoke
the default constructor. It's 0 for Int, "" for String.

On Mon, Dec 26, 2016 at 11:24 AM, David Sweeris <davesweeris at mac.com> wrote:

> On Dec 26, 2016, at 11:12, Tino Heth via swift-evolution <
> swift-evolution at swift.org> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20161226/02a210a0/attachment.html>

More information about the swift-evolution mailing list