On Sat, Dec 19, 2015 at 7:06 PM, Jordan Rose via swift-evolution < swift-evolution@swift.org> wrote:
> -1 to using '&' in the declaration; it's a sigil that doesn't mean > anything as is. (I was originally on the side of using 'inout' at the call > site as well, i.e. "swap(inout x, inout y)", but it was considered too > verbose.) > I'd actually suggest that we reconsider this. '&' at the callsite has deep associations with C semantics, and I have too frequently seen buggy code using '&x' combined with one of the C interop implicit conversions to "get a pointer" that the code stores in a variable somewhere. It is also hard to explain to people that '&x' does not do what they want in that case, "& means address-of, and it returns a pointer here, what do you mean I can't use it?" 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