On Thursday, 3 May 2012 at 22:43:16 UTC, Tove wrote:
scope does not destroy. scope makes this illegal (assuming
that A is a class type):
a = x;
There is deprecated use of the 'scope' keyword but this is not
it.
> }
>
> fun(a);
>
Ali
right, thanks. I forgot about that, since it was never
implemented I didn't use it.
But nevertheless... the actual implemented semantics is the
same for parameters as for the deprecated function body case,
at the end of the function the parameter goes out of scope too!
i.e. destructor should be called.
Hmmm sorry for the confusion, I was living under the delusion
that:
scope class A{}
void fun(scope A x){}
fun(new A());
did something, but it doesn't. ;)