Изменения в новых версиях / Swift 5.4

// *** before: ***
// a function was allowed only one variadic parameter, so the rest of the
// lists were passed as arrays
func sendOld(to: [String], cc: [String], subject: String) { }
sendOld(to: ["alina@example.com"], cc: ["bob@example.com"], subject: "hi")

// *** in version 5.4: ***
func send(to: String..., cc: String..., subject: String) {
    print(to, cc, subject)
}

send(to: "alina@example.com""ann@example.com",
     cc: "bob@example.com",
     subject: "hi")

// only the first variadic may be unlabelled; every following one needs a
// label, otherwise the compiler could not tell where one list ends
func log(_ values: Int..., tags: String...) { }
log(123, tags: "a""b")