To be useful, it definitely needs to be smarter. And should not throw -Wpointer-arith when a void * is passed in.
I don't full understand the (arg) + 0 trick, but my assumption is that the arithmetic makes the expression coercible in a way that's useful to the compiler.
To be useful, it definitely needs to be smarter. And should not throw
-Wpointer-arithwhen avoid *is passed in.I don't full understand the
(arg) + 0trick, but my assumption is that the arithmetic makes the expression coercible in a way that's useful to the compiler.