https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67070

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Casey Carter from comment #3)
> Although not intuitive, this behavior is sane. It's what we're accustomed to
> when overloading functions constrained with enable_if<foo<T>::value> and
> enable_if<!foo<T>::value>; substitution failure of foo<T> disables *both*
> overloads.

The difference is that here the problem is buried in the definition of the
concept (several concepts deep, in the original testcase) rather than written
explicitly in the constrained template.

Reply via email to