clang -O2 -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations search/tdelete.c -o search/tdelete -D_POSIX_C_SOURCE=202405L -lm -lintl search/tdelete.c:11:36: error: unknown type name 'posix_tnode' void *(*foo)(const void *restrict, posix_tnode **restrict, int(*)(const void *, const void *)) = tdelete; ^ search/tdelete.c:11:9: error: incompatible pointer types initializing 'void *(*)(const void *restrict, int **restrict, int (*)(const void *, const void *))' with an expression of type 'void *(const void *restrict, void **restrict, int (*)(const void *, const void *))' [-Werror,-Wincompatible-pointer-types] void *(*foo)(const void *restrict, posix_tnode **restrict, int(*)(const void *, const void *)) = tdelete; ^ ~~~~~~~ 2 errors generated.