I'd like to discuss allowing a trailing 'argument label' without an actual argument:
func adding(_ other: Self, reportingOverflow) -> … // Actual case in SE-104 where this came up func tableView(_ tableView: UITableView, numberOfSections) -> Int // Referenced as tableView(_:numberOfSections) As illustrated above, the way we reference functions extends very naturally to include these. This would be very useful for several cases: • Delegate methods, which currently all start with the same prefix, except for some odd cases that really actually just needed a trailing argument label. • Cases where the function is a more specialized version of one with the same name, but can't use a flag because the return type is different (e.g. reportingOverflow), or the extra flag check is just undesirable. The standard library now uses some workarounds to achieve this (e.g. having a trailing argument of type void). • Function names that just work more naturally with some additional words after the last argument. If we allow trailing argument labels, you can form any sentence, rounding out the syntax. Overall, I think this could be the final missing piece to complete Swift's functions-as-sentences approach.
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution