Thomas Munro <thomas.munro@gmail.com> writes:
> there's also the walker stuff[1] to address.
Yeah. I just did some experimentation with that, and it looks like
neither gcc nor clang will cut you any slack at all for declaring
an argument as "void *": given say
typedef bool (*tree_walker_callback) (Node *node, void *context);
the walker functions also have to be declared with exactly "void *"
as their second argument. So it's going to be just as messy and
full-of-casts as we feared. Still, I'm not sure we have any
alternative.
regards, tom lane