[swift-evolution] a few initializer proposals

Mike Kluev mike.kluev at gmail.com
Thu Jun 22 20:29:23 CDT 2017

On 23 June 2017 at 01:20, Xiaodi Wu <xiaodi.wu at gmail.com
<xiaodi.wu at gmail.com>> wrote:

> These issues which you have raised have been discussed thoroughly on this
> list some time ago. It was distilled into a very well written proposal,
> SE-0018, that was evaluated and deferred. I would recommend that you and
> all people who are interested in this topic review the initial pitch and
> the subsequent discussions that took place.
> At the conclusion of that process, any improvements for memberwise
> initialization were deemed out of scope for Swift 3. Subsequently, all
> sugar was out of scope for Swift 4 phase 1 and deemed to be extremely low
> priority for Swift 4 phase 2. Whether the topic will be in scope again is
> an open question.
> The summary of the core team's decision is unusually long and
> extraordinarily enlightening. The issues about this feature being out of
> scope are discussed as "meta-points," and an extensive amount of text
> explains the thought process behind that conclusion. Beyond that, however,
> the decision also explores a truly remarkable set of possible solutions to
> the underlying issue, and it raises very interesting (non-meta) points that
> would have to be carefully considered before any revised proposal.

thanks. interesting reading indeed:


"We can tackle this sort of sugar feature at any time, including in Swift
4.  The core team would like to defer talking about this for a couple of
months until the other things (property behaviors, resilience, and other
big changes) are behind us. "

that was written in Jan 2016, a year and a half ago. time to resurrect?

personally i am not too mad about the "path forward" outcome at the bottom.
looks a bit too verbose, a bit too complicated and a bit too "over
engineered", but that's in my humble imho. personally i'd tend to more
simple measures, e.g. if there is "let x = 0" and it looks a problem if we
override it (as it does indeed) - just don't have those "let's" it in the
default memberwise initializer parameter list - done.

btw. don't blame syntax sugar, it's not without value.... when it helps
eliminating 200 or even 2 lines.

speaking of "kicking the can down the road" - i trust this is a valuable
approach still... it is very hard (and almost impossible) to do it right
straight away... whether there will be needed 10 iterations until it's
right or 3, or what particular swift version it is in - not that important.

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

More information about the swift-evolution mailing list