On Monday, 25 August 2014 at 06:27:00 UTC, Shachar wrote:
The following program compiles, and does what you'd expect:

struct A {
    int a;
}

pure int func( ref A a )
{
    return a.a += 3;
}

As far as I can tell, however, it shouldn't. I don't see how or why func can possibly be considered pure, as it changes a state external to the function.

What am I missing? Or is this just a compiler bug?

Shachar

http://klickverbot.at/blog/2012/05/purity-in-d/
  • Why is this pure? Shachar via Digitalmars-d-learn
    • Re: Why is this pure? Alex Rønne Petersen via Digitalmars-d-learn

Reply via email to