D's error messaging is terrible in some ways. I am trying to get some code to work and this is the error:

arsd\stb_truetype.d(1246): Error: function core.stdc.stdlib.qsort (scope void* base, uint nmemb, uint size, extern (C) int function(scope const(void*), scope const(void*)) @system compar) is not callable using argument types (void*, int, uint, extern (C) int function(const(void*) p, const(void*) q))

Find the bug!

Why can't D just dive a bit further and tell me the actual parameter(s) that it failing on? It obviously knows this as it has to check each one to know if there is an error. It should make it clear so I don't have to hunt and peck for the error. These lines don't always get wrapped in all cases so it is a scrollfest trying to find it.

Do the lead programmers for D use Visual D? Or do they use a specific tool chain that exhibits a specific behavior that they assume translates in to every other case?


Reply via email to