http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53211
--- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> --- For comment #1, it looks like there is something wrong in instantiation_dependent_expression_p: when finish_decltype_type calls it for arr it returns false, where it seems obvious that it should be true. This static_assert succeeds: static_assert(sizeof(arr) == sizeof(int) * sizeof...(Args), "complete type");