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).