Transient ranges

Nordlöw via Digitalmars-d digitalmars-d at puremagic.com
Mon May 30 03:43:51 PDT 2016


On Friday, 27 May 2016 at 23:42:24 UTC, Seb wrote:
> So what about the convention to explicitely declare a 
> `.transient` enum member on a range, if the front element value 
> can change?

An alternative solution is to extend data-flow/escape-analysis to 
forbit references to `scope`d-variables from leaking outside of 
the scope where it's declared. If the element variable in the 
`foreach`-statement is then qualifed with `scope` the developer 
can safely use the front-reference inside the foreach-scope 
without worrying about it leaking into the enclosing scopes.

However, this solution, of course, requires the developer to 
remember to use the `scope` keyword every time he iterates over a 
transient range, which might not be what want in terms of 
simplicity.

For a very technical plan on how to implement this in D see

http://wiki.dlang.org/User:Schuetzm/scope

Could this big undertaking be split up into smaller more 
managable parts?


More information about the Digitalmars-d mailing list