https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89881
--- Comment #2 from Lukas Mosimann <lumosimann at gmail dot com> --- Yes you're right. But also GCC reports a warning, saying that the function is only declared, but not defined. This might be exactly what we want, if the function is only used at compile time, as a kind of type mapping. So I'm not sure, but in my opinion, if a function is declared, but not defined, and it is used in a decltype - that is totally ok and no warning should be omitted at all.