(p void) is not useful without casting another pointer to or from it.
Function dispatch for pointers could work similar as for untyped macros, so if a function takes (p void) as argument, and is called with a (p T), and the function has no overloading for (p T) the version with (p void) could be called without explicitely casting it.
And to avoid casting from void to a type, it would be useful, if functions, that use pointers to functions that take a (p void) you also could call it with a function that takes a function to (p T).
Since this would requre to edit the core (and as long the macro dispatch doesn't work correctly) this isnt important.
(p void)
is not useful without casting another pointer to or from it. Function dispatch for pointers could work similar as for untyped macros, so if a function takes(p void)
as argument, and is called with a(p T)
, and the function has no overloading for(p T)
the version with(p void)
could be called without explicitely casting it. And to avoid casting from void to a type, it would be useful, if functions, that use pointers to functions that take a(p void)
you also could call it with a function that takes a function to(p T)
. Since this would requre to edit the core (and as long the macro dispatch doesn't work correctly) this isnt important.