[Bug c++/62085] SFINAE where specialization parameter class member returns an abstract type fails
jameslyon0 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Aug 12 23:03:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62085
--- Comment #3 from James Lyon <jameslyon0 at gmail dot com> ---
Thanks for looking! Unfortunately I don't have access to EDG. I have dug
through the standard and it seems my understanding of SFINAE was (is) a
bit lacking and GCC is indeed correct. It seems there's a bug in clang
here instead.
On 11/08/14 11:12, redi at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62085
>
> --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
> For a short piece of code with no external dependencies it's simpler to just
> paste it into a comment than attach it:
>
> template<typename T>
> struct A {
> T f();
> };
>
> template<typename T, typename Enable=void> struct B {};
> template<typename T> struct B<T, typename A<T>::type> {};
>
> struct C {
> virtual ~C() = 0;
> };
>
> int main() {
> B<C>();
> }
>
>
> EDG rejects it for the same reason as GCC.
>
More information about the Gcc-bugs
mailing list