__attribute__((overloadable)) void func_bad(...); // error
void func_good(...) __attribute__((overloadable)); // okay
[[clang::overloadable]] void func_also_bad(...); // error
void func_also_bad_again(...) [[clang::overloadable]]; // error, this is the only diagnostic that makes sense to me
void okay_now_Im_just_baffled [[clang::overloadable]](...); // okay