News for hackers. Stuff that matters.
Re:Ownership and Borrowing in D by WalterBright on Tuesday July 16, 2019 @05:43AM (#20448674)
If the parameters to a pure function are marked immutable, then you cannot change data referenced by those arguments. It's functionally pure.

Ironically, sometimes people complain that the purity checks are too stringent :-)

One thing interesting about pure functions in D is the purity restrictions can be relaxed by using a `debug` prefix:

    pure int test(int i) {
      printf("%d\n", i); // error, printf isn't pure
      debug printf("%d\n", i); // ok
      return i;
    }
This makes it very, very handy to debug your functional code.

There are no comments on this comment yet.