On Thursday, 30 January 2014 at 14:18:41 UTC, Cooler wrote:
"But I would point out that fun2 does not guarantee anything more than fun3:" - fun2() cannot guarantee anything because it calls fun3() which in turn cannot guarantee anything.
Unrelated. void foo2(ref int[] arr) { /* do nothing */ }You can't guarantee mutation by function signature. Well, unless compiler does full attribute and qualifier inference.