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