https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67901
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I needed one slight change to get the code to compiler (I needed this change even for clang and MSVC): Change: requires sizeof...(ArgumentsRest) % 2 == 0 to: requires (sizeof...(ArgumentsRest) % 2 == 0) With that change GCC 10.2.0 and GCC 11+ were able to compile the code just fine (GCC 10.1.0 does reject it though).