Como tornar o inicializador memberwise público por padrão para structs em Swift?
Olá a todos! Comecei a estudar Swift e me deparei com um problema ao trabalhar com structs. Por padrão, o Swift gera para structs um inicializador memberwise (inicializador elemento a elemento), que permite criar uma instância passando valores para todas as propriedades. Mas se eu declaro uma struct com nível de acesso `public`, o inicializador memberwise se torna interno (internal), e não público. Por causa disso, não consigo usar a struct de outro módulo.
Aqui está um exemplo:
```swift
// ModuleA.swift
public struct User {
public let name: String
public let age: Int
// inicializador memberwise não declarado explicitamente
}
// ModuleB.swift (outro módulo)
let user = User(name: "Alice", age: 30) // Erro: 'User' cannot be initialized with memberwise initializer
```
Eu entendo que posso escrever meu próprio inicializador público:
```swift
public struct User {
public let name: String
public let age: Int
public init(name: String, age: Int) {