# Empty initializer protocol

**URL:** <https://forums.swift.org/t/empty-initializer-protocol/12263>\
**Category:** Pitches\
**Created:** [April 30, 2018, 4:15pm UTC](https://forums.swift.org/t/empty-initializer-protocol/12263 "2018-04-30T16:15:05Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![Letan](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/letan/32/4982_2.png) [@Letan](https://forums.swift.org/u/Letan)\
**Post date:** [April 30, 2018, 9:45pm UTC](https://forums.swift.org/t/empty-initializer-protocol/12263/5 "2018-04-30T21:45:30Z")

</div>

[Here's the old thread](https://forums.swift.org/t/pitch-add-the-defaultconstructible-protocol-to-the-standard-library/4771) about this, the consensus seemed to be that it was not important enough to include.

For a workaround @allevato had a nice solution. If I may point you to it:

> [@\[Pitch\] Add the DefaultConstructible protocol to the standard library](https://forums.swift.org/t/pitch-add-the-defaultconstructible-protocol-to-the-standard-library/4777/5):
>
> Tony, could you, please, share your approaches? Maybe it will open the door to finding an easy solution to the issue. ...and I'll tell you what it is since I fat-fingered the send button too soon. :) There have been a couple times where I've written code that needed to generically serve instances of a type T, and in each of those cases—thanks to Swift's support for first-class functions and initializers-as-functions—I found it to be cleaner to have my factory take a () -\> T as a parame…

---

_[View the full topic](https://forums.swift.org/t/empty-initializer-protocol/12263)._
