I love all the ways Swift lets you keep code together when it belongs logically together. If Swift adds the convention that properties in a class that get initialized in the declaration could be available in the order they occur (or a better order if possibe), then we could have more complex declarations in one statement, rather than in 2 places, and avoid the possibility of unnecessary optional if the init is not the right place to initialise the properties.
For example, it would be very elegant if this code snippet were doable:
class Item {
var data: String
init(inout list: [Item], data: String) {
self.data = data
list.append(self)
}
}
class ItemList {
var items = [Item]()
var thing1 = Item(list: &items, data: "first")
var thing2 = Item(list: &items, data: "second")
}