http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #17 from Kristian Spangsege
2013-02-23 01:35:02 UTC ---
Dude, you are insulting my ego! :-)
Anyway, thanks for pointing me to [temp.deduct]/8. SFINAE certainly does not
apply in my example.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #16 from Jonathan Wakely 2013-02-23
00:31:00 UTC ---
Or see http://isocpp.org/forums
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #15 from Jonathan Wakely 2013-02-23
00:29:17 UTC ---
[temp.deduct]/8
This is not the right place to learn C++, please use the gcc-help mailing list
or another site.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #14 from Kristian Spangsege
2013-02-23 00:02:55 UTC ---
Jonathan, you say that:
"Foo::type exists unconditionally, so SFINAE doesn't apply.
The invalid type is not in the immediate context of the substitution."
Could you p
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #13 from Kristian Spangsege
2013-02-22 23:46:04 UTC ---
Jonathan,
"The complete set" is the set *before* the number of arguments is considered to
find the viable subset. To synthesize the declaration Foo::type must be
known,
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #12 from Kristian Spangsege
2013-02-22 23:38:47 UTC ---
Yes, so far so good, but where does the standard say that if synthesis fails
for a particular candidate function template declaration, during overload
resolution, then the
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #11 from Jonathan Wakely 2013-02-22
23:20:28 UTC ---
as explained in comment 6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #10 from Kristian Spangsege
2013-02-22 23:11:13 UTC ---
Daniel - excuse me :-)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #9 from Kristian Spangsege
2013-02-22 23:09:59 UTC ---
Daniell, would you do me the favour of explaining exactly why you think my
example is ill-formed?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
Jonathan Wakely changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #7 from Daniel Krügler
2013-02-22 22:01:18 UTC ---
(In reply to comment #4)
> I think 13.3 [over.match] ¶2 and 13.3.1 [over.match.funcs] ¶7 say the
> function
> template specialization must be generated before the number of argumen
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #6 from Jonathan Wakely 2013-02-22
18:47:55 UTC ---
(In reply to comment #5)
> Function templates must not be instantiated unless the number of arguments
> match.
Where does the standard say that?
> [C++11: 13.3/2]:
>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #5 from Kristian Spangsege
2013-02-22 18:04:41 UTC ---
(In reply to comment #4)
> I think 13.3 [over.match] ¶2 and 13.3.1 [over.match.funcs] ¶7 say the
> function
> template specialization must be generated before the number of arg
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #4 from Jonathan Wakely 2013-02-22
16:24:42 UTC ---
I think 13.3 [over.match] ¶2 and 13.3.1 [over.match.funcs] ¶7 say the function
template specialization must be generated before the number of arguments is
checked to see if the can
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #3 from Daniel Krügler
2013-02-22 10:59:28 UTC ---
(In reply to comment #2)
> Isn't G++ correct? Foo::type exists unconditionally, so SFINAE doesn't apply.
> The invalid type is not in the immediate context of the substitution.
This
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #2 from Jonathan Wakely 2013-02-22
10:42:05 UTC ---
Isn't G++ correct? Foo::type exists unconditionally, so SFINAE doesn't apply.
The invalid type is not in the immediate context of the substitution.
To make this work you wou
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
Marek Polacek changed:
What|Removed |Added
CC||mpolacek at gcc dot gnu.org
--- Comment
17 matches
Mail list logo