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 
> <[email protected]> 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 [email protected] <mailto:[email protected]>:
> 
> 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 
> <[email protected] <mailto:[email protected]>> 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
> [email protected] <mailto:[email protected]>
> https://lists.swift.org/mailman/listinfo/swift-users 
> <https://lists.swift.org/mailman/listinfo/swift-users>
> 
> _______________________________________________
> swift-users mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to