On Monday, 29 May 2017 at 08:49:07 UTC, ketmar wrote:
Brad Roberts wrote:
libraries that themselves aren't marked pure, there's a real
need for escape hatches. A simple example: anything that has
a malloc/free pair.
they aren't pure. it is a sad misconception about purity, which
D makes even more complex by allowing to mark, for example,
*setters* as pure. but still, `malloc()` and `free()` aren't
pure. and while various functions in std.math, for example, are
marked `pure`, they aren't too.
There is pureMalloc since 2.074.0 (it was never announced):
https://github.com/dlang/druntime/pull/1746
However, without a pureFree it's rather limited in usefulness and
needs to be workaround in real life:
https://github.com/dlang/druntime/pull/1718