On 12/15/2018 11:53 AM, Atila Neves wrote:
@safe and pure though...
@safe is not so hard to adopt, since by using @trusted one can proceed
incrementally.
Going pure, however, is much harder (at least for me) because I'm not used to
programming that way. Making a function pure often requires reorganization of
how a task is broken up into data structures and functions.
For example,
https://github.com/dlang/dmd/blob/master/src/dmd/target.d
It's nearly all global variables that manipulate other global variables. I
recently added a parameter to _init() so that it didn't need to access
global.params.
Now if the Target.* __gshared's could instead be replaced with fields, then
_init() could be made pure.