Jonathan M Davis <jmdavisp...@gmx.com> wrote:
Except that since when is anything implictly convertable to immutable?
Implicitly converted to const, yes. That happens often enough, but
immutable?
Anything that does not contain pointers or references to non-immutable
data is implicitly convertible to immutable, if passed by value.
And you definitely don't have to use immutable references with pure
functions.
That sounds like a bug. Unless you mean things like immutable(char)[],
which is implicitly convertible to immutable, according to the above rules.
I have gotten some const-related errors when using pure on member
functions, so
I get the impression that using pure on a member function implicitly
makes it
const, but I'm not sure if that's enough.
The 'this' pointer is also a parameter to a function, so also needs to
be immutable.
--
Simen