Почему [SomeStruct] не конвертируется в [Any]?

Учтите следующее:

struct SomeStruct {}

var foo: Any!
let bar: SomeStruct = SomeStruct()

foo = bar // Compiles as expected

var fooArray: [Any] = []
let barArray: [SomeStruct] = []

fooArray = barArray // Does not compile; Cannot assign value of type '[SomeStruct]' to type '[Any]'

Я пытался найти логику, но безуспешно. Стоит упомянуть, если вы измените структуру на класс, она работает отлично.

Можно всегда добавить обходной путь и отобразить каждый объект fooArray и привести их к типу Any, но здесь проблема не в этом. Я ищу объяснение, почему это ведет себя так, как оно есть.

Может кто-нибудь, пожалуйста, объясните это?

Этот ТАК вопрос привел меня к этой проблеме.

Ответы на вопрос(2)

Ваш ответ на вопрос