On Wednesday, 27 May 2015 at 08:43:07 UTC, Per Nordlöw wrote:
On Wednesday, 27 May 2015 at 08:38:48 UTC, Per Nordlöw wrote:
AFAIK, in current DMD, I can't get any help in avoiding patterns such as

   char[] saved_line;
   foreach (line; File("foo.txt").byLine)
   {
       saved_line = line; // should give error
   }

If I understand you correctly, a new kind of qualifier for `line` may be motivated here. The semantic meaning of `scope` D is not related to volatile property. I guess the problem is somewhat related to reference counting and ownership, right.

See my other reply. Originally I thought so too, but it turns out they can't really be separated. It's basically an instance of Rust's restriction "exactly one mutable reference, or N immutable references, but not both at the same time".

Reply via email to