https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- I don't see anything wrong with that code, since the parameter pack is empty, so there is never any attempt to declare void as non-type template parameter type. The standard has this restriction only for a non-type parameter type, but there is none in your example.