Swift automatically generates memberwise initializers for structs, letting you skip writing boilerplate init code. Swift 6.4 (SE-0502) improves this by excluding private stored properties that already have a default value from the generated initializer. Before this change, a private property with a default value would make the entire memberwise initializer private, forcing developers to write manual initializers. Now, such properties are treated as implementation details and omitted. The rule: a property is excluded only when it is less accessible than the generated initializer AND already has an initial value. Private properties without default values still appear in the initializer. Public structs still require explicit public initializers regardless of this change. A source compatibility overload preserves existing code that initializes private properties through the old synthesized initializer.