https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115798
--- Comment #2 from m.cencora at gmail dot com --- (In reply to m.cencora from comment #1) > Also this is specific to types exported from GMF, if type is declared > directly in named module it works fine, i.e. > > $ cat base.cpp > export module base; > > export > { > using int8_t = signed char; > } > > export namespace std > { > using int8_t = ::int8_t; > } Scratch that, it actually is not related to GMF. The above works fine, but following does not: export module base; export { using int8_t = signed char; } export namespace std { using ::int8_t; } So it is a 'new type alias' (OK) vs 'using declaration' (ICE).