On Tuesday, 9 April 2013 at 08:33:53 UTC, Manu wrote:
How can 'weak pure' reasonably be called any kind of 'pure'? It's not pure at all. The function returns a completely different result when called
twice. That's the definition of not-pure.
I suggest that no D language newbie would ever reasonably expect that
behaviour.

It is "weak pure" because it can be called by "strong pure" functions without violating "strong pure" guarantees (not-pure-at-all functions can't). It is confusing indeed and I remember some questions on StackOverflow on topic. I think having separate keywords/attributes would have helped.

Reply via email to