Swift does have a rule, independent of anything discussed here, that
var x: Int? is equivalent to
var x: Int? = nil. (Compare with
let x: Int?, which does not have the same behavior.) I don't think we should treat
var x: Int? differently from
var x: Int? = nil for the purposes of memberwise initializers.
(People have talked about removing this behavior from
var x: Int?, since "mutable stored Optional" is the only kind of declaration that gets an implicit default value. But I think that should be a different discussion and one that's applied consistently to all such declarations, not just the projection of the initial value into the memberwise initializer's default arguments.)