Changes in new versions / Swift 6.2

final class Owner {
    let name = "owner"
}

final class Child {
    // *** in version 6.2: ***
    //a weak reference that never changes
    //can be a constant now
    weak let parent: Owner?

    init(parent: Owner) {
        self.parent = parent
    }
}

let owner = Owner()
let child = Child(parent: owner)

print("parent is \(child.parent?.name ?? "nil")")
//parent is owner