https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100983
--- Comment #5 from Patrick Palka <ppalka at gcc dot gnu.org> --- (In reply to Artur Bać from comment #4) > trunk at compiler explorer still rejects valid code > > https://godbolt.org/z/v4ebhj9Gh, only the message of requirement of > namespace scope is missing from gcc 11.2, invalid use of template-name > without an argument list > > https://godbolt.org/z/7Wev6saWz "ctad" must be declared at namespace scope + > invalid use of template-name without an argument list It works on trunk if you omit the dubious 'typename' before the template name: https://godbolt.org/z/77M4dh3n5