On Monday, 27 May 2013 at 09:06:58 UTC, deadalnix wrote:
On Monday, 27 May 2013 at 07:42:44 UTC, Jonathan M Davis wrote:
On Monday, May 27, 2013 09:37:38 deadalnix wrote:
On Sunday, 26 May 2013 at 00:43:36 UTC, Andrei Alexandrescu wrote: > That was technically difficult to do back then, and fell by > the > wayside. Today it would break too much code to introduce > even
> if feasible.

Can you expand more on the breakage risk please ?

If nothing else, it would mean that the variables inside of the in block would not go out of scope when the in block ended, so their destructors would not be called and the like, whereas now they would be. The same goes for scope statements in the in block. I don't know how much of an issue any of that is realistically though. But Andrei may have other reasons why it would be a
problem.


You are right, destructor is an issue. The risk of name collision exists as well but I don't think it is realistically that widespread in actual codebase.

Yet another reason why those variable should be declared as such in the `in` clause. Variables declared in the `in` clause using the `out` attribute would have their destruction done after the `out` clause, and all other variables declared in the `in` clause would be destructed after the `in` clause.

Reply via email to