On Mon, Dec 21, 2015 at 10:34 AM, Joe Groff <jgr...@apple.com> wrote: > >> On Dec 18, 2015, at 6:52 PM, Dmitri Gribenko <griboz...@gmail.com> wrote: >> >> On Fri, Dec 18, 2015 at 6:21 PM, Joe Groff <jgr...@apple.com> wrote: >>> >>> On Dec 18, 2015, at 6:08 PM, Dmitri Gribenko <griboz...@gmail.com> wrote: >>> There's also a possibility that we add 'out' parameters in the future, and >>> if 'inout' would be spelled '&', then we would need to find another sigil >>> for 'out'. >>> >>> We have multiple returns. Why would we ever add out parameters? >> >> I don't want to turn this thread into a discussion about out >> parameters, but one reason would be to replace >> AutoreleasingUnsafeMutablePointer. > > IMO we should eventually import out params from C as multiple returns. > >> Another one is to add labels to >> the output parameters: >> >> let (day, month, year) = parseDate() >> let (year, day, month) = parseDate() // bug? > > Labeled tuples seem like they could help with that, with compiler QoI to > catch cases like this where you obviously permuted the return names.
Currently they don't help: (swift) func parseDate() -> (day: Int, month: Int, year: Int) { return (0,0,0) } (swift) let (year, month, day) = parseDate() // (year, month, day) : (Int, Int, Int) = (0, 0, 0) Dmitri -- main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if (j){printf("%d\n",i);}}} /*Dmitri Gribenko <griboz...@gmail.com>*/ _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution