Sent from my iPad

> On Dec 23, 2015, at 11:57 PM, Charles Srstka via swift-evolution 
> <[email protected]> wrote:
> 
>> On Dec 23, 2015, at 11:09 PM, Riley Testut <[email protected]> wrote:
>> 
>> Glad to see there's definitely some interest in this community then! I would 
>> love to start writing up a final proposal to submit to the Swift-Evolution 
>> repo, but I think that last piece of information needed would be the actual 
>> method of initialization, specifically should we allow for returning 
>> instances from convenience initializers, or should we simply assign to self? 
>> 
>> Personally, I think returning from the initializer makes the most sense, 
>> especially because "self" in a protocol extension seems ambiguous. However, 
>> I'm not that much in favor that I couldn't be convinced to simply assign to 
>> self, because that already has some low level support in the language. 
>> Anyone have strong thoughts one way or another?
> 
> Assigning to self was always a bit weird. I think returning an instance makes 
> more sense intuitively. It’s also, as you say, unclear exactly what “self” 
> even means in the context of a protocol.
> 
> Probably the way I’d do it would be to have the method declared “factory 
> init” and be required to return an object.

+1 assuming we want to use the same syntax in type and protocol extensions.  I 
don't like assign-to-self in a protocol extension.  

Returning the instance also matches how factory methods are usually done in 
other languages.  That shouldn't carry too much weight but it is worth noting.


> 
> Charles
> 
> 
> _______________________________________________
> 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

Reply via email to