Johannes Pfau wrote:
Related question to the SHA/MD5 hash functions: could those be pure?
Weakly pure, yes - but for what?. Btw. I just gave a try at compile time evaluation of these hashes. I got rid of memcpy but then endianness issues arise. According to CTFE docs:
"non-portable casts (eg, from int[] to float[]), including casts which depend on endianness, are not permitted."
and the sad part is that hash source code involves endianness. So, there will be no compile-time hash support unless compiler would allow casting from uint[] to ubyte[] or uint* to ubyte*.