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

--- Comment #3 from Casey Carter <Casey at Carter dot net> ---
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.

> This is probably a good issue to raise against the TS, and we should discuss 
> it in Kona.

I won't be at Kona, but consider me strongly for static_assert(C<T>) regardless
of how it may or may not affect the behavior of !C<T>. It's a bit odd to have
an entity that is almost exactly like a constexpr bool variable/function with
the exception that it cannot be evaluated to get a bool.

Reply via email to