Warum kann [SomeStruct] nicht in [Any] konvertiert werden?

Folgendes berücksichtigen

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]'

Ich habe versucht, die Logik dahinter zu finden, aber ohne Glück. Es ist erwähnenswert, wenn Sie die Struktur in eine Klasse ändern, funktioniert dies perfekt.

One konnte immer eine Problemumgehung hinzufügen und jedes Objekt des fooArray zuordnen und in den Typ Any umwandeln, aber das ist hier nicht das Problem. Ich suche nach einer Erklärung, warum sich das so verhält.

Kann jemand das bitte erklären?

Diese SO-Frage hat mich zu diesem Problem geführt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage