dsimcha wrote:
I would say that @safe doesn't make much sense. What if you're implementing your comparison function using memcmp() or something else that involves a bunch of pointers? If you pass memcmp() invalid parameters, it can segfault, and would therefore have to be marked as unsafe, meaning that safe functions couldn't call it.
A safe function is only safe if the parameters passed to it are valid. memcmp() cannot be safe as it does pointer arithmetic.