Вопрос проверяет понимание правил генерации инициализаторов компилятором Swift.
Короткий ответ
Дефолтный init в структуре генерируется только если Swift может гарантировать безопасную инициализацию. Когда разработчик объявляет собственный инициализатор, компилятор считает, что ответственность за инициализацию полностью передана ему. Поэтому автоматический init удаляется. Это сделано для предотвращения частично инициализированных объектов. Такое поведение является осознанным дизайнерским решением Swift.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.