protocol Foo { init(string: String) } class Cat { init() {} } extension Cat : Foo { convenience init(string: String) { self.init() } }