On Friday, 2 May 2014 at 20:10:04 UTC, Marc Schütz wrote:
On Friday, 2 May 2014 at 18:10:42 UTC, deadalnix wrote:
On Friday, 2 May 2014 at 09:41:48 UTC, Marc Schütz wrote:
That's true, but it is also a breaking change, because then suddenly some variables aren't writable anymore (or

s/writable/readable/ of course


Yes.

alternatively, the compiler would have to analyse all future uses of the variable first to see whether it can be inferred isolated, if that's even possible in the general case). I believe it's fine if explicit annotation is required.

No, I expect the compiler to backtrack inference when it hits an error, not to infer eagerly, because indeed, the eager inference would be a breaking change.

This might work, but would require defining an order of evaluation for static if's &co, because you could create logical cycles otherwise.

Yes, but this is unrelated to isolated. In fact this is already the case. static if is not deterministic. I've made a proposal to improve the situation:

http://wiki.dlang.org/DIP31

But to be fair I'm not quite satisfied. This still leave some room for unspecified results, but is a great improvement over current situation.

Reply via email to