Guardate la definizione per il sovraccarico di +=
operatore in Swift che consente di aggiungere elementi a una raccolta:Cosa significa questo vincolo di tipo generico in Swift?
/// Append the elements of rhs to lhs
func +=<T, C : Collection where T == T>(inout lhs: ContiguousArrayBuffer<T>, rhs: C)
^^^^^^
Cosa fa il vincolo T == T
fare? Perché ne abbiamo bisogno qui? Sembra un vincolo banale che è sempre vero.
All'interno di questa funzione di sovraccarico dell'operatore globale sembra strano ... Tuttavia, osservando altri punti che lo utilizzano, ad esempio 'estensione T []: ArrayType {init (_ s: S)} 'Sembra che stia semplicemente cercando di assicurarsi che gli elementi della sequenza degli argomenti abbiano lo stesso tipo dell'array che stai tentando di inizializzare. Non sono sicuro del modo in cui viene applicata tramite questa sintassi però .. –
Jack