> 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