https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104792
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|needs-reduction | Summary|[g++ and/or libstdc++] |Wunused-local-typedefs with |Wunused-local-typedefs + |typedef/type alias defined |C++20 concepts = annoying |in struct that is defined | |in a function scope --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced testcase: void test() { struct It { using value_type = int; using difference_type = int; }; It *t = 0; } The warning for the two type alias (typedef) does not make sense here really. If the struct It was not defined in the function scope, GCC (and clang) does not warn.