dmd relies on mutation of state during semantic analysis, however
sometimes semantic is being performed in a speculative context that should
not have any visible effect on the rest of the compilation: for example when compiling
a typeof() or __traits(compiles).
dmd relies on mutation of state during semantic analysis, however sometimes semantic is being performed in a speculative context that should not have any visible effect on the rest of the compilation: for example when compiling a typeof() or __traits(compiles).