https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114990
--- Comment #16 from Jason Merrill <jason at gcc dot gnu.org> --- (In reply to cqwrteur from comment #15) > But it is not declaration, but definition. The actual implementation > duplicates twice. Definitions are also merged. > For translation units, inline function will get discarded in different > translation units and keep only one of them as weak symbol. I don't think > this applies to module Within the global module it does; importing discards duplicate definitions much like the linker.