Hi, When I am defining a struct I find myself often using a style as shown in the following example:
struct Foo { var greeting: String var x: Int var y: Int var z: Int init(greeting: String, x: Int = 1, y: Int = 2, z: Int = 3) { self.greeting = greeting self.x = x self.y = y self.z = z } } This enables one to write code when one doesn’t need to change defaults: let f = Foo(greeting: “Hello”) and when one wishes to change one of the defaults: let f = Foo(greeting: “Hello”, z: 4) It would be better if one could write the struct in what I understand is the preferred style: struct Foo { var greeting: String var x = 1 var y = 2 var z = 3 } and have the compiler generate the initializer: init(name: String, x: Int = 1, y: Int = 2, z: Int = 3) { self.name = name self.x = x self.y = y self.z = z } rather than one where all the parameters that have a default value need to be specified in the initializer if one wishes to change just one of them. Regards, Guy Miller _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution