bearophile wrote:
Sean Eskapp:
Oh, I see, thanks! This isn't documented in the function documentation!
D purity implementation looks like a simple thing, but it's not simple, it has
several parts that in the last months have be added to the language and
compiler, and we are not done yet, there are few more things to add (like
implicit conversion to immutable of the results of strongly pure functions). It
will need several book pages to document all such necessary design details.
Bye,
bearophile
It is actually very simple: a function marked as 'pure' is not allowed
to explicitly access any static variables.
Everything else is just compiler optimisation, and the programmer
shouldn't need to worry about it.