On Thursday, 6 February 2014 at 20:17:25 UTC, Benjamin Thaut wrote:
foo([1 2 3 4]); // allocates the array literal on the stack, because it is scoped.

Absolutely. In fact, generically, any scope item could be moved to the stack. We were just discussing in the chat room how scope = stack allocation and scope = don't escape the reference actually go hand in hand; they are not two separate features, stack allocation is an optimization enabled by the restriction... and the restriction is required by the optimization to maintain memory safety.

Reply via email to