1 min readDec 11, 2018
Пришлось вернуться к этому вопросу, потому что обсуждали этот вопрос на интервью, почему это компилируется:
struct S {
var arr: [S]
}
Насколько я понимаю, массив (и другие структуры вроде dict или set) на стеке хранит только метаданные, а сама память для элементов выделяется в куче, так что размер под массив внутри структуры можно заложить во время компиляции, т.к. там только метаданные.