What do y'all think about the following syntax for requiring that a pointer argument is non-null?
(gcc/clang will issue a warning if they can detect that you're passing NULL)
void thing_do_stuff(thing_t thing[static 1]);
Would you consider this readable?
Would you easily understand what's happening if you encountered this in a library?
Would a macro make it better or worse?
#define MYLIB_NONNULL static 1
void thing_do_stuff(thing_t thing[MYLIB_NONNULL]);