[Bug c++/59056] enable_if turns a non-ambiguous template into an ambiguous one

2013-11-13 Thread richard-gccbugzilla at metafoo dot co.uk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59056 --- Comment #5 from Richard Smith --- (In reply to Jonathan Wakely from comment #2) > I thought if the partial specializations were ambiguous then these function > overloads should be too. Yes, this inconsistency is very surprising. GCC, EDG, and

[Bug c++/59056] enable_if turns a non-ambiguous template into an ambiguous one

2013-11-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59056 Paolo Carlini changed: What|Removed |Added CC||richard-gccbugzilla@metafoo

[Bug c++/59056] enable_if turns a non-ambiguous template into an ambiguous one

2013-11-11 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59056 --- Comment #3 from Jonathan Wakely --- Similar (but not identical) to PR 58752

[Bug c++/59056] enable_if turns a non-ambiguous template into an ambiguous one

2013-11-09 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59056 --- Comment #2 from Jonathan Wakely --- I must be misunderstanding something, because rewriting the class template partial specializations as function templates (as per [temp.class.order]) shows that one is more specialized than the other, as the

[Bug c++/59056] enable_if turns a non-ambiguous template into an ambiguous one

2013-11-08 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59056 --- Comment #1 from Paolo Carlini --- Needs an analysis, but I doubt this is a bug, all the up to date compilers I have handy (eg, clang, icc) reject it the same way.