Компилятор синтезирует memberwise init для struct со свойствами, если нет кастомного init, закрывающего синтез (с нюансами access).
Разбор
public struct не получает public memberwise автоматически — нужен явный public init.
- Можно добавить свой init в extension, сохранив memberwise в некоторых случаях.
- Удобно для value-моделей.
- Порядок параметров = порядок свойств.
Итог
Memberwise init ускоряет работу со struct-моделями.