This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/23227] SFINAE bug
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Sep 2005 21:23:34 -0000
- Subject: [Bug c++/23227] SFINAE bug
- References: <20050804093039.23227.sylvain.pion@sophia.inria.fr>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-14 21:23 -------
(In reply to comment #6)
> I retract my point of view. This doesn't mean, however, that I'm convinced
> that the opposite would be true.
But both of those testcases represent "void f(const B<C> &a); ".
Here is how I see it:
A<T> is instantiated because it is defined as a way too instantiate it and then we reject it as having
referencing an incomplete type.
The question here is should we be instantiating A<C>? I saw yes because otherwise we would reject
other valid code where A<C> defines a constructor taking double.
And the other question is if we instantiate A<C> should we be erroring out, I say yes as there is no part
of the standard as far as I can see says we should not error out here.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23227