https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80916
--- Comment #8 from Davin McCall <davmac at davmac dot org> --- (In reply to ensadc from comment #7) > Note that the "never defined" part is also misleading: the warning persists > when `i::dispatch` does have a definition Yes; and actually, I note that in the original test case I supplied, the dispatch function doesn't have a definition, but it doesn't have internal linkage either. So, I think the warning really is spurious and it's not just a case of it saying "declared static" where it should say "has internal linkage".