------- Comment #6 from chris at bubblescope dot net  2008-03-06 17:11 -------
While I agree that this is an issue of implementation detail, I thought there
was code already there to stop this case, except it is broken :(

Looking at the svn copy of tr1/tuple, you can see operator== (and others)
delegate to _tuple_compare, passing the first parameter:

tuple_size<_Tp>::value - tuple_size<_Tp>::value

Which should be:

tuple_size<_Tp>::value - tuple_size<_Up>::value

The template which accepts this is only implemented for this value being 0, so
any other value produces a compile time error.

I broke this (woops) in r91171, back in 2004. The code has continued to be
updated as tuple has changed, and no-one seems to have noticed it made no sense
;)


-- 

chris at bubblescope dot net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |chris at bubblescope dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35480

Reply via email to