Спасибо @ Александр! Моя ошибка - я надеюсь, что этот ответ полезен, несмотря на его правки.

чаю типы значений Swift, в частности, чтобы лучше понять его использование в другом сценарии. Я был поражен, увидев, как enum может быть использован для построения дерева двоичного поиска с использованиемindirect который вводит тонкий слой семантики ссылки.

enum BinarySearchTree<T: Comparable> {
  case empty
  case leaf(T)
  indirect case node(BinarySearchTree, T, BinarySearchTree)
}

Теперь перейду к реальному вопросу, что я пытаюсь найти: что будет с ссылочным типом внутри типа значения. Как будут работать отношения? как управление памятью, жизненный цикл объекта.

Например,

class B {
    var data: Int = 0

    deinit {
        print("deallocated!")
    }

}

struct A {
    var b = B()
}

В приведенном выше случае тип значения содержит ссылку на ссылочный тип.

Когда будетdeinit&nbsp;позвонят?Каждый новый экземпляр структуры типаA&nbsp;будет иметь ссылку на тот же экземпляр классаB&nbsp;или они будут другими.О чем мне нужно заботиться, или это запах кода?Что-нибудь еще?