On Wed, 23 Feb 2011 12:28:33 -0500, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
On 2/23/11 11:16 AM, Steven Schveighoffer wrote:
Just because a function is not marked @safe does not mean it is unsafe.
It just means you can do things the compiler cannot verify are safe, but
that you know are actually safe. I showed you earlier an example of a
safe pure function that uses malloc and free.
Programmers are allowed to make conceptually safe functions which are
not marked as @safe, why not the same for pure functions?
-Steve
I understand that. My point is that allowing unsafe functions to be pure
dilutes pure to the point of uselessness.
And that's not a point. It's an unsupported opinion.
pure has nothing to do with safety, it has to do with optimization. Safe
functions are no more optimizable than unsafe ones. Safety has to do with
reducing memory bugs.
The two concepts are orthogonal, I have not been convinced otherwise.
-Steve