Blick auf der Definition für die Überlastung von +=
Operator in Swift, die Sie Elemente zu einer Sammlung hinzufügen lassen:Was bedeutet diese generische Einschränkung in Swift?
/// Append the elements of rhs to lhs
func +=<T, C : Collection where T == T>(inout lhs: ContiguousArrayBuffer<T>, rhs: C)
^^^^^^
Was bedeutet der T == T
Zwang tun? Warum brauchen wir es hier? Es sieht wie eine triviale Einschränkung aus, die immer wahr ist.
Innerhalb dieser globalen Operator-Overload-Funktion sieht es komisch aus ... Allerdings schauen Sie sich andere Stellen an, die das verwenden, zB 'extension T []: ArrayType {init (_ s: S)} 'Es sieht so aus, als ob es einfach versucht, sicherzustellen, dass die Elemente der Argumentsequenz den gleichen Typ haben wie das Array, das Sie zu initialisieren versuchen. Ich bin mir nicht sicher, wie das durch diese Syntax erzwungen wird. –
Jack