[Review] SE-0018 Flexible Memberwise Initialization


(Federico Zanetello) #1

What is your evaluation of the proposal?

Since the "Proposed solution" section is about the automatic model, I give
my +1.

In my opinion, the automatic model is a big step forward from the current
state already,
the opt-in model would introduce properties modifiers and/or attributes
that I don't feel
necessary.
In the lights of that, I would advise against most of the "Future
enhancements" section,
with the sole exception of the @default attribute (using the first bare
approach, not the
second one with an attribute argument: it's cleaner and it fixes the main
problem already).

​>​ Is the problem being addressed significant enough to warrant a change
to Swift?
​>​ Does this proposal fit well with the feel and direction of Swift?
​Yes to both, I was surprised when I found out that the default memberwise
initializer
in Swift was a very basic, struct-only thing: I was contemplating such a
proposal
myself, even though Matthew put much more thought and crafted something
deeper
than what I had in mind.

​> If you have you used other languages or libraries with a similar
feature, how do you feel that this proposal compares to those?
Not applicable.

How much effort did you put into your review? A glance, a quick reading,

or an in-depth study?​
I did my homework: in-depth study of the official proposal and read every
single thread
about it.

This is my first time participating in a Swift Evolution and I'm doing so
because I'm really
interested in this implementation (as stated in a previous answer, I was
contemplating
the same proposal myself, unaware of the ongoing newsletter discussion).

-Federico Zanetello