https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87607
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- You've got the syntax for a fold-expression wrong. The parentheses around the expression are required: template<class T, class... Args> void f(Args ...args) { static_assert((is_same<T, Args>::value && ...)); } This compiles fine.