Convenience initializers are inherited when you override all of your parent 
class's designated initializers. If you change the signature of the designated 
initializer, then the convenience initializers will no longer do the right 
thing.

However, we could allow this case and just consider it shadowing the original 
initializer rather than overriding. In that case, though, we'd probably want 
something like @nonoverriding to make it clear that it was intentional.

Jordan


> On Jan 27, 2017, at 10:39, tuuranton--- via swift-users 
> <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?
> 
> 27. Jan 2017 18:59 by saa...@saagarjha.com <mailto:saa...@saagarjha.com>:
> 
> You can’t override a designated initializer with one that is failable. The 
> second one is defining a new initializer that is failable, instead of 
> overriding the one from its superclass.
> 
> Saagar Jha
> 
> On Jan 27, 2017, at 8:45 AM, tuuranton--- via swift-users 
> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:
> 
> See the comments. Why is one allowed but the other one isn't and what's the 
> rationale for this?
> 
> 
> class Vehicle {
>     let name: String
>     init(name: String) {
>         self.name = name
>     }
> }
> 
> 
> class Car: Vehicle {
>     //Why is this not allowed?
>     override init?(name: String) {
>         super.init(name: name)
>     }
>     
>     //But this is allowed?
>     init?(name: String, ignore: String) {
>         super.init(name: name)
>     }
> }
> 
> 
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org <mailto:swift-users@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-users 
> <https://lists.swift.org/mailman/listinfo/swift-users>
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

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

Reply via email to