[swift-users] Initializers
Jordan Rose
jordan_rose at apple.com
Fri Jan 27 15:26:22 CST 2017
> On Jan 27, 2017, at 11:04, Slava Pestov via swift-users <swift-users at swift.org> wrote:
>
>>
>> On Jan 27, 2017, at 10:39 AM, tuuranton--- via swift-users <swift-users at swift.org <mailto:swift-users at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170127/3244c1cf/attachment.html>
More information about the swift-users
mailing list