http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58590
--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> --- Because a SFINAE proper error is when you have an hard error, essentially by definition from the implementation point of view, not when a static_assert triggers. And this is not the case here. Unless you have reason to believe that the front-end is doing something special for this kind of code, eg in overload resolution, etc, which it wouldn't do outside sfinae. If you didn't want to see errors you wanted -c, nothing special, what will happen anyway in the testsuite for this kind of testcase.