https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123810
--- Comment #3 from Giuseppe D'Angelo <peppe at gcc dot gnu.org> ---
> Anyway, this leads to further questions.
> Should
> #include <meta>
>
> typedef enum { A, B } C;
> static_assert (is_type_alias (^^C));
> pass or not? It does on the clang reflection branch, it doesn't in GCC.
> When a typedef gives name for linkage purposes to an anonymous
> enum/class/union, that is the enum/class/union type rather than its typedef
> variant.
I'm not sure. Isn't the C name still a type alias, as per
https://eel.is/c++draft/dcl.typedef#1.sentence-1 ?