> On Jan 27, 2017, at 11:04, Slava Pestov via swift-users 
> <swift-users@swift.org> wrote:
> 
>> 
>> On Jan 27, 2017, at 10:39 AM, tuuranton--- via swift-users 
>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:
>> 
>> Yes, but why?
>> 
>> What's the rationale for this?
>> 
>> What would be so bad about allowing overriding a non-failable initializer 
>> with a failable initializer?
> 
> If the non-failable initializer witnesses a non-failable protocol 
> requirement, and the subclass overrides it, what should be the runtime 
> behavior if the subclass initializer returns nil? The caller won’t expect it, 
> since the caller is calling a non-failable initializer.

This particular objection only applies to 'required' initializers, though.


> 
> For similar reasons, you cannot override a method that returns a non-optional 
> value with a method returning an optional value.

Yes, this is true.

Jordan

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to