* [Bug c++/13548] SFINAE fails to eliminate overload
2004-01-02 18:47 [Bug c++/13548] New: SFINAE fails to eliminate overload dave at boost-consulting dot com
@ 2004-01-02 18:47 ` dave at boost-consulting dot com
2004-01-02 20:53 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: dave at boost-consulting dot com @ 2004-01-02 18:47 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dave at boost-consulting dot com 2004-01-02 18:47 -------
Created an attachment (id=5400)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5400&action=view)
preprocessed source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13548
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13548] SFINAE fails to eliminate overload
2004-01-02 18:47 [Bug c++/13548] New: SFINAE fails to eliminate overload dave at boost-consulting dot com
2004-01-02 18:47 ` [Bug c++/13548] " dave at boost-consulting dot com
@ 2004-01-02 20:53 ` pinskia at gcc dot gnu dot org
2004-01-02 20:55 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-02 20:53 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Version|3.4.0 |3.3.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13548
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13548] SFINAE fails to eliminate overload
2004-01-02 18:47 [Bug c++/13548] New: SFINAE fails to eliminate overload dave at boost-consulting dot com
2004-01-02 18:47 ` [Bug c++/13548] " dave at boost-consulting dot com
2004-01-02 20:53 ` pinskia at gcc dot gnu dot org
@ 2004-01-02 20:55 ` pinskia at gcc dot gnu dot org
2004-01-02 21:35 ` pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-02 20:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-02 20:55 -------
The preprocessed source is for 3.3.1 which does not compile at all on 3.4.0 but does compile just
fine on 3.3.3, Can you attach the one for 3.4?
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13548
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13548] SFINAE fails to eliminate overload
2004-01-02 18:47 [Bug c++/13548] New: SFINAE fails to eliminate overload dave at boost-consulting dot com
` (2 preceding siblings ...)
2004-01-02 20:55 ` pinskia at gcc dot gnu dot org
@ 2004-01-02 21:35 ` pinskia at gcc dot gnu dot org
2004-01-02 22:45 ` dave at boost-consulting dot com
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-02 21:35 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-02 21:35 -------
You are wrong as it should match:
boost::detail::enable_if_interoperable<boost::indirect_iterator<int**, boost::use_default,
boost::use_default, boost::use_default, boost::use_default>, boost::reverse_iterator<int**
>, bool>::type
boost::operator==<boost::indirect_iterator<int**, boost::use_default, boost::use_default,
boost::use_default, boost::use_default>, int, boost::random_access_traversal_tag, int&,
int, boost::reverse_iterator<int**>, int*, boost::random_access_traversal_tag, int*&, int>
(boost::iterator_facade<boost::indirect_iterator<int**, boost::use_default,
boost::use_default, boost::use_default, boost::use_default>, int,
boost::random_access_traversal_tag, int&, int> const&,
boost::iterator_facade<boost::reverse_iterator<int**>, int*,
boost::random_access_traversal_tag, int*&, int> const&)
As iterator_adaptor's base is a iterator_facade.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13548
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13548] SFINAE fails to eliminate overload
2004-01-02 18:47 [Bug c++/13548] New: SFINAE fails to eliminate overload dave at boost-consulting dot com
` (3 preceding siblings ...)
2004-01-02 21:35 ` pinskia at gcc dot gnu dot org
@ 2004-01-02 22:45 ` dave at boost-consulting dot com
2004-01-02 22:57 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: dave at boost-consulting dot com @ 2004-01-02 22:45 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dave at boost-consulting dot com 2004-01-02 22:45 -------
Bluntly starting your reply with "you are wrong", especially when you, in
fact, are wrong, is impolite. I'm just trying to help by reporting this one,
and wish to be treated accordingly.
That base is not enough to make it match. What is the return type of this
function?
boost::detail::enable_if_interoperable<boost::indirect_iterator<int**,
boost::use_default,
boost::use_default, boost::use_default, boost::use_default>,
boost::reverse_iterator<int**
>, bool>::type
Is not a valid type, therefore the overload should be removed. Substitution
failure is not an error
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13548
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13548] SFINAE fails to eliminate overload
2004-01-02 18:47 [Bug c++/13548] New: SFINAE fails to eliminate overload dave at boost-consulting dot com
` (4 preceding siblings ...)
2004-01-02 22:45 ` dave at boost-consulting dot com
@ 2004-01-02 22:57 ` pinskia at gcc dot gnu dot org
2004-01-03 0:36 ` dave at boost-consulting dot com
2004-01-03 2:50 ` dave at boost-consulting dot com
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-02 22:57 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-02 22:57 -------
How is enable_if_interoperable<boost::indirect_iterator<..>, boost::reverse_iterator<..>, bool> an
invalid type, there is only a definition of enable_if_interoperable:
template <class Facade1, class Facade2, class Return>
struct enable_if_interoperable
{
typedef Return type;
};
template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class
TC2, class R2, class D2 >
typename detail::enable_if_interoperable< Derived1, Derived2, bool >::type
operator ==
(
iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs ,
iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs)
Derived1 = boost::indirect_iterator<int**, boost::use_default, boost::use_default, boost::
use_default, boost::use_default>
Derived2 = boost::reverse_iterator<int**>
V1 = int
V2 = int *
TC1 = boost::random_access_traversal_tag
TC2 = boost::random_access_traversal_tag
R1 = int&
R2 = int*&
D1 = int
D2 = int
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13548
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13548] SFINAE fails to eliminate overload
2004-01-02 18:47 [Bug c++/13548] New: SFINAE fails to eliminate overload dave at boost-consulting dot com
` (5 preceding siblings ...)
2004-01-02 22:57 ` pinskia at gcc dot gnu dot org
@ 2004-01-03 0:36 ` dave at boost-consulting dot com
2004-01-03 2:50 ` dave at boost-consulting dot com
7 siblings, 0 replies; 9+ messages in thread
From: dave at boost-consulting dot com @ 2004-01-03 0:36 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dave at boost-consulting dot com 2004-01-03 00:36 -------
You're right; enable_if_interoperable was given that definition as a
workaround for earlier versions of GCC. Let me look into this further and let
you know by tomorrow. Sorry...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13548
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13548] SFINAE fails to eliminate overload
2004-01-02 18:47 [Bug c++/13548] New: SFINAE fails to eliminate overload dave at boost-consulting dot com
` (6 preceding siblings ...)
2004-01-03 0:36 ` dave at boost-consulting dot com
@ 2004-01-03 2:50 ` dave at boost-consulting dot com
7 siblings, 0 replies; 9+ messages in thread
From: dave at boost-consulting dot com @ 2004-01-03 2:50 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dave at boost-consulting dot com 2004-01-03 02:50 -------
OK, this one was my mistake. It was a bug in previous versions of GCC, but it
is fixed in the latest gcc-3.4 snapshot.
Sorry to waste time on this.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13548
^ permalink raw reply [flat|nested] 9+ messages in thread