Это мой код:
protocol SimpleInit {
init()
}
class Person {}
class Lizard<T: Person> {
let person: T
init(person: T) {
self.person = person
}
// error: 'where' clause cannot be attached to a non-generic declaration
init() where T: SimpleInit {
self.person = T.init()
}
}
Возможно ли, что у меня есть подкласс Person
, который соответствует SimpleInit
, и позже создаст Lizard
, не передавая экземпляр Person
конструктору?Lizard
должен иметь возможность создать Person
, если тип Person
соответствует SimpleInit
.