http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48531
Paolo Carlini <paolo.carlini at oracle dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | --- Comment #8 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-04-18 11:02:59 UTC --- Thanks. But I'm confused by what is replacing the hard-error. Isn't this supposed to be well-formed? template<class T, class = decltype(T()) > char f(int); template<class> double f(...); static_assert(sizeof(f<int[1]>(0)) == 1, "Error");